Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F10615139
optionsmodel.h
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
3 KB
Subscribers
None
optionsmodel.h
View Options
// Copyright (c) 2011-2013 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_QT_OPTIONSMODEL_H
#define BITCOIN_QT_OPTIONSMODEL_H
#include
"amount.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
,
bool
resetSettings
=
false
);
enum
OptionID
{
StartAtStartup
,
// bool
MinimizeToTray
,
// bool
MapPortUPnP
,
// bool
MinimizeOnClose
,
// bool
ProxyUse
,
// bool
ProxyIP
,
// QString
ProxyPort
,
// int
ProxyUseTor
,
// bool
ProxyIPTor
,
// QString
ProxyPortTor
,
// int
DisplayUnit
,
// BitcoinUnits::Unit
ThirdPartyTxUrls
,
// QString
Language
,
// QString
CoinControlFeatures
,
// bool
ThreadsScriptVerif
,
// int
DatabaseCache
,
// int
SpendZeroConfChange
,
// bool
Listen
,
// bool
OptionIDRowCount
,
};
void
Init
(
bool
resetSettings
=
false
);
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
);
/** Updates current unit in memory, settings and emits displayUnitChanged(newUnit) signal */
void
setDisplayUnit
(
const
QVariant
&
value
);
/* Explicit getters */
bool
getMinimizeToTray
()
{
return
fMinimizeToTray
;
}
bool
getMinimizeOnClose
()
{
return
fMinimizeOnClose
;
}
int
getDisplayUnit
()
{
return
nDisplayUnit
;
}
QString
getThirdPartyTxUrls
()
{
return
strThirdPartyTxUrls
;
}
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
;
QString
strThirdPartyTxUrls
;
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
);
Q_SIGNALS
:
void
displayUnitChanged
(
int
unit
);
void
coinControlFeaturesChanged
(
bool
);
};
#endif
// BITCOIN_QT_OPTIONSMODEL_H
File Metadata
Details
Attached
Mime Type
text/x-c++
Expires
Sat, Nov 23, 09:58 (1 d, 12 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4535550
Default Alt Text
optionsmodel.h (3 KB)
Attached To
rSTAGING Bitcoin ABC staging
Event Timeline
Log In to Comment