Skip to content

Commit

Permalink
Merge #1475: [GUI] Hide charts at startup or at runtime
Browse files Browse the repository at this point in the history
596a72a [Doc] Update release notes (hide charts) (random-zebra)
236d59c [GUI] Add controls to hide the charts at runtime (random-zebra)
2f219cf [GUI] Add --hidecharts flag to hide QT charts at startup (random-zebra)
945dea4 [Cleanup] Fix styling in dashboardwidget, optionsmodel, settingsdisplay (random-zebra)

Pull request description:

  This adds a gui-only startup flag `--hidecharts` that can be used to automatically hide the chart container at startup.

  Also adds  a checkbox in display option to hide/show the charts at runtime (so a wallet could even be started without charts, and then enable them later without restarting).

  ![hideCharts](https://user-images.githubusercontent.com/18186894/78072201-ff17d380-739e-11ea-8471-159e2e2a11fc.gif)

  <br>

  NOTE: this PR might be controversial, so it has been implemented independently from #1473 (which only hides the chart when they are disabled via `configure`). If both PR are conceptually accepted, this will be rebased on top of 1473.

ACKs for top commit:
  furszy:
    ACK 596a72a

Tree-SHA512: ecc505f1d78302d18b54a6919acfb24247006920c99c26f102a69619411c15dcd263b38a8e0a40d8f42289386460c8f978cba3a0ac65d01a418ffe8ded562136
  • Loading branch information
random-zebra committed Apr 9, 2020
2 parents 3ea8c57 + 596a72a commit 3dddd25
Show file tree
Hide file tree
Showing 8 changed files with 156 additions and 151 deletions.
8 changes: 6 additions & 2 deletions doc/release-notes.md
Expand Up @@ -161,7 +161,7 @@ Detailed release notes follow. This overview includes changes that affect behavi

### P2P Protocol and Network Code

The p2p alert system has been removed in [#1372](https://github.com/PIVX-Project/PIVX/pull/1372) and the 'alert' message is no longer supported.
The p2p alert system has been removed in [PR #1372](https://github.com/PIVX-Project/PIVX/pull/1372) and the 'alert' message is no longer supported.

### GUI

Expand All @@ -178,12 +178,16 @@ Addresses in the dropdown of the "Send Transaction" and "Send Delegation" widget
**Include delegations in send**: The send and cold-staking page present a checkbox ([#1391](https://github.com/PIVX-Project/PIVX/pull/1391)) to make the automatic input selection algorithm include delegated (P2CS) utxos if needed. The option is unchecked by default.


**Staking Charts**: can now be hidden at startup (with a flag `--hidecharts`) or at runtime with a checkbox in settings --> options --> display ([PR #1475](https://github.com/PIVX-Project/PIVX/pull/1475)).



### RPC/REST

### Wallet


__Context Lock/Unlock__ [[PR #1387]()]:<br>
__Context Lock/Unlock__ [[PR #1387](https://github.com/PIVX-Project/PIVX/pull/1387)]:<br>
Present the unlock dialog directly (instead of an error message), whenever an action on encrypted/locked wallet requires full unlock.<br>
Restore the previous locking state ("locked" or "locked for staking only") when the action is completed.

Expand Down
38 changes: 26 additions & 12 deletions src/qt/optionsmodel.cpp
Expand Up @@ -89,11 +89,13 @@ void OptionsModel::Init()
language = settings.value("language").toString();
}

void OptionsModel::refreshDataView(){
void OptionsModel::refreshDataView()
{
Q_EMIT dataChanged(index(0), index(rowCount(QModelIndex()) - 1));
}

void OptionsModel::setMainDefaultOptions(QSettings& settings, bool reset){
void OptionsModel::setMainDefaultOptions(QSettings& settings, bool reset)
{
// These are shared with the core or have a command-line parameter
// and we want command-line parameters to overwrite the GUI settings.
//
Expand All @@ -112,24 +114,26 @@ void OptionsModel::setMainDefaultOptions(QSettings& settings, bool reset){
if (!SoftSetArg("-par", settings.value("nThreadsScriptVerif").toString().toStdString()))
addOverriddenOption("-par");

if(reset){
if (reset) {
refreshDataView();
}
}

void OptionsModel::setWalletDefaultOptions(QSettings& settings, bool reset){
if (reset || !settings.contains("bSpendZeroConfChange"))
void OptionsModel::setWalletDefaultOptions(QSettings& settings, bool reset)
{
if (!settings.contains("bSpendZeroConfChange") || reset)
settings.setValue("bSpendZeroConfChange", false);
if (!SoftSetBoolArg("-spendzeroconfchange", settings.value("bSpendZeroConfChange").toBool()))
addOverriddenOption("-spendzeroconfchange");
if (reset){
if (reset) {
setStakeSplitThreshold(CWallet::DEFAULT_STAKE_SPLIT_THRESHOLD);
setUseCustomFee(false);
refreshDataView();
}
}

void OptionsModel::setNetworkDefaultOptions(QSettings& settings, bool reset){
void OptionsModel::setNetworkDefaultOptions(QSettings& settings, bool reset)
{
if (!settings.contains("fUseUPnP") || reset)
settings.setValue("fUseUPnP", DEFAULT_UPNP);
if (!SoftSetBoolArg("-upnp", settings.value("fUseUPnP").toBool()))
Expand All @@ -150,12 +154,13 @@ void OptionsModel::setNetworkDefaultOptions(QSettings& settings, bool reset){
else if (!settings.value("fUseProxy").toBool() && !GetArg("-proxy", "").empty())
addOverriddenOption("-proxy");

if(reset){
if (reset) {
refreshDataView();
}
}

void OptionsModel::setWindowDefaultOptions(QSettings& settings, bool reset){
void OptionsModel::setWindowDefaultOptions(QSettings& settings, bool reset)
{
if (!settings.contains("fMinimizeToTray") || reset)
settings.setValue("fMinimizeToTray", false);
fMinimizeToTray = settings.value("fMinimizeToTray").toBool();
Expand All @@ -164,12 +169,13 @@ void OptionsModel::setWindowDefaultOptions(QSettings& settings, bool reset){
settings.setValue("fMinimizeOnClose", false);
fMinimizeOnClose = settings.value("fMinimizeOnClose").toBool();

if(reset){
if (reset) {
refreshDataView();
}
}

void OptionsModel::setDisplayDefaultOptions(QSettings& settings, bool reset){
void OptionsModel::setDisplayDefaultOptions(QSettings& settings, bool reset)
{
if (!settings.contains("nDisplayUnit") || reset)
settings.setValue("nDisplayUnit", BitcoinUnits::PIV);
nDisplayUnit = settings.value("nDisplayUnit").toInt();
Expand All @@ -191,7 +197,9 @@ void OptionsModel::setDisplayDefaultOptions(QSettings& settings, bool reset){
settings.setValue("strThirdPartyTxUrls", "");
strThirdPartyTxUrls = settings.value("strThirdPartyTxUrls", "").toString();

if(reset){
fHideCharts = GetBoolArg("-hidecharts", false);

if (reset) {
refreshDataView();
}
}
Expand Down Expand Up @@ -281,6 +289,8 @@ QVariant OptionsModel::data(const QModelIndex& index, int role) const
return settings.value("nDatabaseCache");
case ThreadsScriptVerif:
return settings.value("nThreadsScriptVerif");
case HideCharts:
return fHideCharts;
case HideZeroBalances:
return settings.value("fHideZeroBalances");
case HideOrphans:
Expand Down Expand Up @@ -398,6 +408,10 @@ bool OptionsModel::setData(const QModelIndex& index, const QVariant& value, int
setRestartRequired(true);
}
break;
case HideCharts:
fHideCharts = value.toBool(); // memory only
Q_EMIT hideChartsChanged(fHideCharts);
break;
case HideZeroBalances:
fHideZeroBalances = value.toBool();
settings.setValue("fHideZeroBalances", fHideZeroBalances);
Expand Down
4 changes: 4 additions & 0 deletions src/qt/optionsmodel.h
Expand Up @@ -49,6 +49,7 @@ class OptionsModel : public QAbstractListModel
ZeromintAddresses, // bool
ZeromintPercentage, // int
ZeromintPrefDenom, // int
HideCharts, // bool
HideZeroBalances, // bool
HideOrphans, // bool
AnonymizePivxAmount, //int
Expand Down Expand Up @@ -77,6 +78,7 @@ class OptionsModel : public QAbstractListModel
void setCustomFeeValue(const CAmount& value);

/* Explicit getters */
bool isHideCharts() { return fHideCharts; }
bool getMinimizeToTray() { return fMinimizeToTray; }
bool getMinimizeOnClose() { return fMinimizeOnClose; }
int getDisplayUnit() { return nDisplayUnit; }
Expand Down Expand Up @@ -116,6 +118,7 @@ class OptionsModel : public QAbstractListModel
QString strThirdPartyTxUrls;
bool fCoinControlFeatures;
bool showColdStakingScreen;
bool fHideCharts;
bool fHideZeroBalances;
bool fHideOrphans;
/* settings that were overriden by command-line */
Expand All @@ -133,6 +136,7 @@ class OptionsModel : public QAbstractListModel
void anonymizePivxAmountChanged(int);
void coinControlFeaturesChanged(bool);
void showHideColdStakingScreen(bool);
void hideChartsChanged(bool);
void hideZeroBalancesChanged(bool);
void hideOrphansChanged(bool);
};
Expand Down

0 comments on commit 3dddd25

Please sign in to comment.