mirror of
https://github.com/dashpay/dash.git
synced 2024-12-24 19:42:46 +01:00
Merge bitcoin-core/gui#390: Add SubFeeFromAmount to options
62b125fd197879f112322a1f67a318d6ab22e67a qt, refactor: Fix indentation (Prateek Sancheti) ad28b66e98c9bb3bc7af2545654842544a798601 qt: Add SubFeeFromAmount option (Prateek Sancheti) Pull request description: This PR adds **_SubFeeFromAmount_** option which lets the user select their preferred setting of whether fee for a transaction is to be subtracted from the amount or not for future transactions. The setting chosen by the user is remembered even when the GUI mode is turned off. **_Functionality and Usage:_** - Go to `Settings > Options > Wallet` on _Windows/Linux_ or `bitcoin-qt > Preferences > Wallet` on _macOS_. - The checkbox **Subtract Fee From Amount** corresponds to the added option **SubFeeFromAmount**. - The preferred setting intended to be the default for all future send transactions should be selected by the user. - Click on **OK**. - Go to the **Send** tab in the wallet. - You shall notice, any new Send transaction created will have the preferred setting as chosen by the user.<br> (Try clicking on Add recipient or even restarting the Node in GUI) Attaching ScreenRecordings to explain the added feature. > Master.mov: Master Branch https://user-images.githubusercontent.com/54016434/127763378-be91837d-d0ab-4ae5-87c0-d303fa70a336.mov > PR.mov: PullRequest https://user-images.githubusercontent.com/54016434/127763404-05b834c1-4082-4fbd-9b05-1528ac898a21.mov Close #386 ACKs for top commit: Talkless: tACK 62b125fd197879f112322a1f67a318d6ab22e67a, tested on Debian Sid with 5.15.2 and it works as described. hebasto: re-ACK 62b125fd197879f112322a1f67a318d6ab22e67a, only removed the unused `SubFeeFromAmountChanged` signal since my [previous](https://github.com/bitcoin-core/gui/pull/390#pullrequestreview-726531766) review. meshcollider: utACK 62b125fd197879f112322a1f67a318d6ab22e67a Tree-SHA512: 932ca89ae578a1e1c426561400d87cf005c231944feaf0f662ff8d88f32bdd65a927a090ea41510a15f8ec0ebcd5529672e9917720eb5ea85f413f081e45d5bb
This commit is contained in:
parent
7df9788c85
commit
368a6ef512
@ -139,7 +139,7 @@
|
|||||||
</property>
|
</property>
|
||||||
<property name="checked">
|
<property name="checked">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
@ -315,6 +315,16 @@
|
|||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="pageWallet">
|
<widget class="QWidget" name="pageWallet">
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_Wallet">
|
<layout class="QVBoxLayout" name="verticalLayout_Wallet">
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="subFeeFromAmount">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string extracomment="Tooltip text for Options window setting that sets subtracting the fee from a sending amount as default.">Whether to set subtract fee from amount as default or not.</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string extracomment="An Options window setting to set subtracting the fee from a sending amount as default.">Subtract &fee from amount by default</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
<item>
|
<item>
|
||||||
|
@ -325,6 +325,7 @@ void OptionsDialog::setMapper()
|
|||||||
|
|
||||||
/* Wallet */
|
/* Wallet */
|
||||||
mapper->addMapping(ui->coinControlFeatures, OptionsModel::CoinControlFeatures);
|
mapper->addMapping(ui->coinControlFeatures, OptionsModel::CoinControlFeatures);
|
||||||
|
mapper->addMapping(ui->subFeeFromAmount, OptionsModel::SubFeeFromAmount);
|
||||||
mapper->addMapping(ui->keepChangeAddress, OptionsModel::KeepChangeAddress);
|
mapper->addMapping(ui->keepChangeAddress, OptionsModel::KeepChangeAddress);
|
||||||
mapper->addMapping(ui->showMasternodesTab, OptionsModel::ShowMasternodesTab);
|
mapper->addMapping(ui->showMasternodesTab, OptionsModel::ShowMasternodesTab);
|
||||||
mapper->addMapping(ui->showGovernanceTab, OptionsModel::ShowGovernanceTab);
|
mapper->addMapping(ui->showGovernanceTab, OptionsModel::ShowGovernanceTab);
|
||||||
|
@ -222,6 +222,11 @@ void OptionsModel::Init(bool resetSettings)
|
|||||||
if (!gArgs.SoftSetBoolArg("-spendzeroconfchange", settings.value("bSpendZeroConfChange").toBool()))
|
if (!gArgs.SoftSetBoolArg("-spendzeroconfchange", settings.value("bSpendZeroConfChange").toBool()))
|
||||||
addOverriddenOption("-spendzeroconfchange");
|
addOverriddenOption("-spendzeroconfchange");
|
||||||
|
|
||||||
|
if (!settings.contains("SubFeeFromAmount")) {
|
||||||
|
settings.setValue("SubFeeFromAmount", false);
|
||||||
|
}
|
||||||
|
m_sub_fee_from_amount = settings.value("SubFeeFromAmount", false).toBool();
|
||||||
|
|
||||||
// CoinJoin
|
// CoinJoin
|
||||||
if (!settings.contains("nCoinJoinSessions"))
|
if (!settings.contains("nCoinJoinSessions"))
|
||||||
settings.setValue("nCoinJoinSessions", DEFAULT_COINJOIN_SESSIONS);
|
settings.setValue("nCoinJoinSessions", DEFAULT_COINJOIN_SESSIONS);
|
||||||
@ -458,6 +463,8 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const
|
|||||||
#ifdef ENABLE_WALLET
|
#ifdef ENABLE_WALLET
|
||||||
case SpendZeroConfChange:
|
case SpendZeroConfChange:
|
||||||
return settings.value("bSpendZeroConfChange");
|
return settings.value("bSpendZeroConfChange");
|
||||||
|
case SubFeeFromAmount:
|
||||||
|
return m_sub_fee_from_amount;
|
||||||
case ShowMasternodesTab:
|
case ShowMasternodesTab:
|
||||||
return settings.value("fShowMasternodesTab");
|
return settings.value("fShowMasternodesTab");
|
||||||
case ShowGovernanceTab:
|
case ShowGovernanceTab:
|
||||||
@ -633,6 +640,10 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
|
|||||||
setRestartRequired(true);
|
setRestartRequired(true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case SubFeeFromAmount:
|
||||||
|
m_sub_fee_from_amount = value.toBool();
|
||||||
|
settings.setValue("SubFeeFromAmount", m_sub_fee_from_amount);
|
||||||
|
break;
|
||||||
case ShowGovernanceTab:
|
case ShowGovernanceTab:
|
||||||
if (settings.value("fShowGovernanceTab") != value) {
|
if (settings.value("fShowGovernanceTab") != value) {
|
||||||
settings.setValue("fShowGovernanceTab", value);
|
settings.setValue("fShowGovernanceTab", value);
|
||||||
|
@ -67,6 +67,7 @@ public:
|
|||||||
FontWeightBold, // int
|
FontWeightBold, // int
|
||||||
Language, // QString
|
Language, // QString
|
||||||
CoinControlFeatures, // bool
|
CoinControlFeatures, // bool
|
||||||
|
SubFeeFromAmount, // bool
|
||||||
KeepChangeAddress, // bool
|
KeepChangeAddress, // bool
|
||||||
ThreadsScriptVerif, // int
|
ThreadsScriptVerif, // int
|
||||||
Prune, // bool
|
Prune, // bool
|
||||||
@ -105,6 +106,7 @@ public:
|
|||||||
int getDisplayUnit() const { return nDisplayUnit; }
|
int getDisplayUnit() const { return nDisplayUnit; }
|
||||||
QString getThirdPartyTxUrls() const { return strThirdPartyTxUrls; }
|
QString getThirdPartyTxUrls() const { return strThirdPartyTxUrls; }
|
||||||
bool getCoinControlFeatures() const { return fCoinControlFeatures; }
|
bool getCoinControlFeatures() const { return fCoinControlFeatures; }
|
||||||
|
bool getSubFeeFromAmount() const { return m_sub_fee_from_amount; }
|
||||||
bool getKeepChangeAddress() const { return fKeepChangeAddress; }
|
bool getKeepChangeAddress() const { return fKeepChangeAddress; }
|
||||||
bool getShowAdvancedCJUI() { return fShowAdvancedCJUI; }
|
bool getShowAdvancedCJUI() { return fShowAdvancedCJUI; }
|
||||||
const QString& getOverriddenByCommandLine() { return strOverriddenByCommandLine; }
|
const QString& getOverriddenByCommandLine() { return strOverriddenByCommandLine; }
|
||||||
@ -132,6 +134,7 @@ private:
|
|||||||
int nDisplayUnit;
|
int nDisplayUnit;
|
||||||
QString strThirdPartyTxUrls;
|
QString strThirdPartyTxUrls;
|
||||||
bool fCoinControlFeatures;
|
bool fCoinControlFeatures;
|
||||||
|
bool m_sub_fee_from_amount;
|
||||||
bool fKeepChangeAddress;
|
bool fKeepChangeAddress;
|
||||||
bool fShowAdvancedCJUI;
|
bool fShowAdvancedCJUI;
|
||||||
/* settings that were overridden by command-line */
|
/* settings that were overridden by command-line */
|
||||||
|
@ -103,7 +103,9 @@ void SendCoinsEntry::clear()
|
|||||||
ui->payTo->clear();
|
ui->payTo->clear();
|
||||||
ui->addAsLabel->clear();
|
ui->addAsLabel->clear();
|
||||||
ui->payAmount->clear();
|
ui->payAmount->clear();
|
||||||
ui->checkboxSubtractFeeFromAmount->setCheckState(Qt::Unchecked);
|
if (model && model->getOptionsModel()) {
|
||||||
|
ui->checkboxSubtractFeeFromAmount->setChecked(model->getOptionsModel()->getSubFeeFromAmount());
|
||||||
|
}
|
||||||
ui->messageTextLabel->clear();
|
ui->messageTextLabel->clear();
|
||||||
ui->messageTextLabel->hide();
|
ui->messageTextLabel->hide();
|
||||||
ui->messageLabel->hide();
|
ui->messageLabel->hide();
|
||||||
|
Loading…
Reference in New Issue
Block a user