QString fiatCurrency = conf()->get(Config::preferredFiatCurrency).toString();
double balanceFiatAmount = appData()->prices.convert("XMR", fiatCurrency, balance / constants::cdiv);
bool isCacheValid = appData()->prices.lastUpdateTime.isValid();
+ bool hasXmrPrice = appData()->prices.markets.contains("XMR");
+ bool hasFiatRate = fiatCurrency == "USD" || appData()->prices.rates.contains(fiatCurrency);
if (balance > 0 && (balanceFiatAmount == 0.0 || !isCacheValid)) {
if (conf()->get(Config::offlineMode).toBool() || conf()->get(Config::disableWebsocket).toBool() || m_wallet->connectionStatus() == Wallet::ConnectionStatus_Disconnected) {
suffixStr += " (offline)";
- } else {
+ } else if (!hasXmrPrice || !hasFiatRate) {
suffixStr += " (connecting)";
+ } else {
+ suffixStr += " (unknown)";
}
} else {
QString approx = !conf()->get(Config::disableWebsocket).toBool() ? "" : "~ ";
seconds = text.split(" ").first().toInt(&ok);
if (!ok) return;
}
- if (seconds > 0) {
- conf()->set(Config::syncInterval, seconds);
+ if (seconds < 30) {
+ seconds = 30;
}
+ conf()->set(Config::syncInterval, seconds);
};
connect(comboSyncInterval, &QComboBox::currentTextChanged, updateConfig);
{Config::offlineMode, {QS("offlineMode"), false}},
{Config::syncPaused, {QS("syncPaused"), false}},
{Config::syncPausedAlsoDisconnectWebSocket, {QS("syncPausedAlsoDisconnectWebSocket"), false}},
- {Config::syncInterval, {QS("syncInterval"), 10}},
+ {Config::syncInterval, {QS("syncInterval"), 30}},
{Config::lastKnownNetworkHeight, {QS("lastKnownNetworkHeight"), 0}},
{Config::lastSyncTimestamp, {QS("lastSyncTimestamp"), 0}},
{Config::lastPriceUpdateTimestamp, {QS("lastPriceUpdateTimestamp"), 0}},
bool isCacheValid = appData()->prices.lastUpdateTime.isValid();
bool isCacheFresh = isCacheValid && appData()->prices.lastUpdateTime.secsTo(QDateTime::currentDateTime()) < 3600;
+ bool hasXmrPrice = appData()->prices.markets.contains("XMR");
+ bool hasFiatRate = fiatCurrency == "USD" || appData()->prices.rates.contains(fiatCurrency);
+
if (balanceFiatAmount == 0.0 || !isCacheValid) {
if (conf()->get(Config::offlineMode).toBool() || conf()->get(Config::disableWebsocket).toBool() || m_wallet->connectionStatus() == Wallet::ConnectionStatus_Disconnected) {
this->setDisplayText("offline");
- } else if (!appData()->prices.markets.contains("XMR")) {
+ } else if (!hasXmrPrice || !hasFiatRate) {
this->setDisplayText("connecting");
} else {
this->setDisplayText("unknown");