wowlet: branding sweep — XMR→WOW, title/dir, .ui+wizard text Feather→wowlet/Monero→Wownero, flip+recolor sidebar (M→W, pink/yellow)

This commit is contained in:
jwinterm
2026-06-18 18:27:28 -04:00
parent 640a478b1b
commit ccd53f59af
36 changed files with 77 additions and 77 deletions
+12 -12
View File
@@ -151,7 +151,7 @@ void MainWindow::initStatusBar() {
this->statusBar()->addPermanentWidget(m_statusUpdateAvailable); this->statusBar()->addPermanentWidget(m_statusUpdateAvailable);
m_statusLabelBalance = new ClickableLabel(this); m_statusLabelBalance = new ClickableLabel(this);
m_statusLabelBalance->setText("Balance: 0 XMR"); m_statusLabelBalance->setText("Balance: 0 WOW");
m_statusLabelBalance->setTextInteractionFlags(Qt::TextSelectableByMouse); m_statusLabelBalance->setTextInteractionFlags(Qt::TextSelectableByMouse);
m_statusLabelBalance->setCursor(Qt::PointingHandCursor); m_statusLabelBalance->setCursor(Qt::PointingHandCursor);
this->statusBar()->addPermanentWidget(m_statusLabelBalance); this->statusBar()->addPermanentWidget(m_statusLabelBalance);
@@ -511,13 +511,13 @@ void MainWindow::initWalletContext() {
connect(m_wallet, &Wallet::unconfirmedMoneyReceived, this, [this](const QString &txId, uint64_t amount){ connect(m_wallet, &Wallet::unconfirmedMoneyReceived, this, [this](const QString &txId, uint64_t amount){
if (m_wallet->isSynchronized() && !m_locked) { if (m_wallet->isSynchronized() && !m_locked) {
auto notify = QString("%1 XMR (pending)").arg(WalletManager::displayAmount(amount, false)); auto notify = QString("%1 WOW (pending)").arg(WalletManager::displayAmount(amount, false));
m_windowManager->notify("Payment received", notify, 5000); m_windowManager->notify("Payment received", notify, 5000);
} }
}); });
connect(m_wallet, &Wallet::moneyReceived, this, [this](const QString &txId, uint64_t amount, bool coinbase){ connect(m_wallet, &Wallet::moneyReceived, this, [this](const QString &txId, uint64_t amount, bool coinbase){
if (m_wallet->isSynchronized() && !m_locked && coinbase) { if (m_wallet->isSynchronized() && !m_locked && coinbase) {
auto notify = QString("%1 XMR").arg(WalletManager::displayAmount(amount, false)); auto notify = QString("%1 WOW").arg(WalletManager::displayAmount(amount, false));
m_windowManager->notify("Mining payment received", notify, 5000); m_windowManager->notify("Mining payment received", notify, 5000);
} }
}); });
@@ -629,19 +629,19 @@ void MainWindow::onBalanceUpdated(quint64 balance, quint64 spendable) {
balance_str += "HIDDEN"; balance_str += "HIDDEN";
} }
else if (displaySetting == Config::totalBalance) { else if (displaySetting == Config::totalBalance) {
balance_str += QString("%1 XMR").arg(WalletManager::displayAmount(balance, false, decimals)); balance_str += QString("%1 WOW").arg(WalletManager::displayAmount(balance, false, decimals));
} }
else if (displaySetting == Config::spendable || displaySetting == Config::spendablePlusUnconfirmed) { else if (displaySetting == Config::spendable || displaySetting == Config::spendablePlusUnconfirmed) {
balance_str += QString("%1 XMR").arg(WalletManager::displayAmount(spendable, false, decimals)); balance_str += QString("%1 WOW").arg(WalletManager::displayAmount(spendable, false, decimals));
if (displaySetting == Config::spendablePlusUnconfirmed && balance > spendable) { if (displaySetting == Config::spendablePlusUnconfirmed && balance > spendable) {
balance_str += QString(" (+%1 XMR unconfirmed)").arg(WalletManager::displayAmount(balance - spendable, false, decimals)); balance_str += QString(" (+%1 WOW unconfirmed)").arg(WalletManager::displayAmount(balance - spendable, false, decimals));
} }
} }
if (conf()->get(Config::balanceShowFiat).toBool() && !hide) { if (conf()->get(Config::balanceShowFiat).toBool() && !hide) {
QString fiatCurrency = conf()->get(Config::preferredFiatCurrency).toString(); QString fiatCurrency = conf()->get(Config::preferredFiatCurrency).toString();
double balanceFiatAmount = appData()->prices.convert("XMR", fiatCurrency, balance / constants::cdiv); double balanceFiatAmount = appData()->prices.convert("WOW", fiatCurrency, balance / constants::cdiv);
balance_str += QString(" (%1)").arg(Utils::amountToCurrencyString(balanceFiatAmount, fiatCurrency)); balance_str += QString(" (%1)").arg(Utils::amountToCurrencyString(balanceFiatAmount, fiatCurrency));
} }
@@ -889,7 +889,7 @@ void MainWindow::onTransactionCreated(PendingTransaction *tx, const QVector<QStr
message.description = QString("Transaction was rejected by node. Reason: %1.").arg(QString::fromStdString(e.status())); message.description = QString("Transaction was rejected by node. Reason: %1.").arg(QString::fromStdString(e.status()));
} }
catch (const tools::error::tx_sum_overflow &e) { catch (const tools::error::tx_sum_overflow &e) {
message.description = "Transaction tries to spend an unrealistic amount of XMR"; message.description = "Transaction tries to spend an unrealistic amount of WOW";
message.helpItems = {"You have found a bug. Please contact the developers."}; message.helpItems = {"You have found a bug. Please contact the developers."};
message.doc = "report_an_issue"; message.doc = "report_an_issue";
} }
@@ -955,7 +955,7 @@ void MainWindow::onTransactionCreated(PendingTransaction *tx, const QVector<QStr
return; return;
} }
else if (tx->txCount() > 1) { else if (tx->txCount() > 1) {
Utils::showError(this, "Failed to construct transaction", "Transaction tries to spend too many inputs", {"Send a smaller amount of XMR to yourself first."}); Utils::showError(this, "Failed to construct transaction", "Transaction tries to spend too many inputs", {"Send a smaller amount of WOW to yourself first."});
m_wallet->disposeTransaction(tx); m_wallet->disposeTransaction(tx);
return; return;
} }
@@ -1383,7 +1383,7 @@ void MainWindow::showAddressChecker() {
} }
if (!WalletManager::addressValid(address, constants::networkType)) { if (!WalletManager::addressValid(address, constants::networkType)) {
Utils::showInfo(this, "Invalid address", "The address you entered is not a valid XMR address for the current network type."); Utils::showInfo(this, "Invalid address", "The address you entered is not a valid WOW address for the current network type.");
return; return;
} }
@@ -1688,7 +1688,7 @@ void MainWindow::onSelectedInputsChanged(const QStringList &selectedInputs) {
if (numInputs > 0) { if (numInputs > 0) {
quint64 totalAmount = m_wallet->coins()->sumAmounts(selectedInputs); quint64 totalAmount = m_wallet->coins()->sumAmounts(selectedInputs);
QString text = QString("Coin control active: %1 selected outputs, %2 XMR").arg(QString::number(numInputs), WalletManager::displayAmount(totalAmount)); QString text = QString("Coin control active: %1 selected outputs, %2 WOW").arg(QString::number(numInputs), WalletManager::displayAmount(totalAmount));
ui->label_coinControl->setText(text); ui->label_coinControl->setText(text);
} }
} }
@@ -1774,7 +1774,7 @@ void MainWindow::updateTitle() {
title += " [view-only]"; title += " [view-only]";
} }
title += " - Feather"; title += " - wowlet";
this->setWindowTitle(title); this->setWindowTitle(title);
} }
+5 -5
View File
@@ -17,7 +17,7 @@
</sizepolicy> </sizepolicy>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Feather</string> <string>wowlet</string>
</property> </property>
<property name="windowIcon"> <property name="windowIcon">
<iconset resource="assets.qrc"> <iconset resource="assets.qrc">
@@ -290,7 +290,7 @@
<item> <item>
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
<property name="text"> <property name="text">
<string>Feather supports two airgapped transaction signing methods:</string> <string>wowlet supports two airgapped transaction signing methods:</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -669,9 +669,9 @@
<string>Report bug</string> <string>Report bug</string>
</property> </property>
</action> </action>
<action name="actionDonate_to_Feather"> <action name="actionDonate_to_wowlet">
<property name="text"> <property name="text">
<string>Donate to Feather</string> <string>Donate to wowlet</string>
</property> </property>
</action> </action>
<action name="actionExport_CSV"> <action name="actionExport_CSV">
@@ -689,7 +689,7 @@
</action> </action>
<action name="actionShow_xmr_to"> <action name="actionShow_xmr_to">
<property name="text"> <property name="text">
<string>Show XMR.to</string> <string>Show WOW.to</string>
</property> </property>
</action> </action>
<action name="actionShow_calc"> <action name="actionShow_calc">
+9 -9
View File
@@ -209,8 +209,8 @@ void SendWidget::sendClicked() {
return; return;
} }
if (currency != "XMR" && !sendAll) { if (currency != "WOW" && !sendAll) {
// Convert fiat amount to XMR, but only if we're not sending the entire balance // Convert fiat amount to WOW, but only if we're not sending the entire balance
amount = WalletManager::amountFromDouble(this->conversionAmount()); amount = WalletManager::amountFromDouble(this->conversionAmount());
} }
@@ -222,7 +222,7 @@ void SendWidget::sendClicked() {
} }
if (unlocked_balance == 0) { if (unlocked_balance == 0) {
Utils::showError(this, "Unable to create transaction", QString("No spendable balance.\n\n%1 XMR becomes spendable within 10 blocks (~20 minutes).").arg(WalletManager::displayAmount(total_balance - unlocked_balance)), {"Wait for more balance to unlock.", "Click 'Help' to learn more about how balance works."}, "balance"); Utils::showError(this, "Unable to create transaction", QString("No spendable balance.\n\n%1 WOW becomes spendable within 10 blocks (~20 minutes).").arg(WalletManager::displayAmount(total_balance - unlocked_balance)), {"Wait for more balance to unlock.", "Click 'Help' to learn more about how balance works."}, "balance");
return; return;
} }
@@ -289,12 +289,12 @@ void SendWidget::updateConversionLabel() {
QString conversionAmountStr = [this]{ QString conversionAmountStr = [this]{
QString currency = ui->comboCurrencySelection->currentText(); QString currency = ui->comboCurrencySelection->currentText();
if (currency != "XMR") { if (currency != "WOW") {
return QString("~%1 XMR").arg(QString::number(this->conversionAmount(), 'f')); return QString("~%1 WOW").arg(QString::number(this->conversionAmount(), 'f'));
} else { } else {
auto preferredFiatCurrency = conf()->get(Config::preferredFiatCurrency).toString(); auto preferredFiatCurrency = conf()->get(Config::preferredFiatCurrency).toString();
double conversionAmount = appData()->prices.convert("XMR", preferredFiatCurrency, this->amountDouble()); double conversionAmount = appData()->prices.convert("WOW", preferredFiatCurrency, this->amountDouble());
return QString("~%1 %2").arg(QString::number(conversionAmount, 'f', 2), preferredFiatCurrency); return QString("~%1 %2").arg(QString::number(conversionAmount, 'f', 2), preferredFiatCurrency);
} }
}(); }();
@@ -305,7 +305,7 @@ void SendWidget::updateConversionLabel() {
double SendWidget::conversionAmount() { double SendWidget::conversionAmount() {
QString currency = ui->comboCurrencySelection->currentText(); QString currency = ui->comboCurrencySelection->currentText();
return appData()->prices.convert(currency, "XMR", this->amountDouble()); return appData()->prices.convert(currency, "WOW", this->amountDouble());
} }
quint64 SendWidget::amount() { quint64 SendWidget::amount() {
@@ -384,7 +384,7 @@ void SendWidget::setWebsocketEnabled(bool enabled) {
this->setupComboBox(); this->setupComboBox();
} else { } else {
ui->comboCurrencySelection->clear(); ui->comboCurrencySelection->clear();
ui->comboCurrencySelection->insertItem(0, "XMR"); ui->comboCurrencySelection->insertItem(0, "WOW");
} }
} }
@@ -420,7 +420,7 @@ void SendWidget::onDataFromQR(const QString &data) {
void SendWidget::setupComboBox() { void SendWidget::setupComboBox() {
ui->comboCurrencySelection->clear(); ui->comboCurrencySelection->clear();
QStringList defaultCurrencies = {"XMR", "USD", "EUR", "CNY", "JPY", "GBP"}; QStringList defaultCurrencies = {"WOW", "USD", "EUR", "CNY", "JPY", "GBP"};
QString preferredCurrency = conf()->get(Config::preferredFiatCurrency).toString(); QString preferredCurrency = conf()->get(Config::preferredFiatCurrency).toString();
if (defaultCurrencies.contains(preferredCurrency)) { if (defaultCurrencies.contains(preferredCurrency)) {
+1 -1
View File
@@ -254,7 +254,7 @@
</sizepolicy> </sizepolicy>
</property> </property>
<property name="text"> <property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Feather can connect to a service hosted by the developers to obtain pricing information, a curated list of remote nodes, Home feeds, the latest version of Feather Wallet and more.&lt;/p&gt;&lt;p&gt;This service is only used to fetch information. The wallet does not send information about its state or your transactions to the server. It is not used for any telemetry or crash reports.&lt;/p&gt;&lt;p&gt;If you disable this connection some functionality will be unavailable.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;wowlet can connect to a service hosted by the developers to obtain pricing information, a curated list of remote nodes, Home feeds, the latest version of wowlet and more.&lt;/p&gt;&lt;p&gt;This service is only used to fetch information. The wallet does not send information about its state or your transactions to the server. It is not used for any telemetry or crash reports.&lt;/p&gt;&lt;p&gt;If you disable this connection some functionality will be unavailable.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
<property name="wordWrap"> <property name="wordWrap">
<bool>true</bool> <bool>true</bool>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 14 KiB

+5 -5
View File
@@ -25,9 +25,9 @@
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="Feather"> <widget class="QWidget" name="wowlet">
<attribute name="title"> <attribute name="title">
<string>Feather</string> <string>wowlet</string>
</attribute> </attribute>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item> <item>
@@ -43,7 +43,7 @@
<item> <item>
<widget class="QLabel" name="label"> <widget class="QLabel" name="label">
<property name="text"> <property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Feather&lt;/span&gt;: a free, open-source Monero wallet&lt;/p&gt;&lt;p&gt;Created by dsc, tobtoht and contributors&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;wowlet&lt;/span&gt;: a free, open-source Wownero wallet&lt;/p&gt;&lt;p&gt;Created by dsc, tobtoht and contributors&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignmentFlag::AlignCenter</set> <set>Qt::AlignmentFlag::AlignCenter</set>
@@ -205,7 +205,7 @@
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="label_5"> <widget class="QLabel" name="label_5">
<property name="text"> <property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:700;&quot;&gt;Feather:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:700;&quot;&gt;wowlet:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -219,7 +219,7 @@
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="label_20"> <widget class="QLabel" name="label_20">
<property name="text"> <property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:700;&quot;&gt;Monero:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:700;&quot;&gt;Wownero:&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
</widget> </widget>
</item> </item>
+1 -1
View File
@@ -19,7 +19,7 @@
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="label"> <widget class="QLabel" name="label">
<property name="text"> <property name="text">
<string>Feather version:</string> <string>wowlet version:</string>
</property> </property>
</widget> </widget>
</item> </item>
+1 -1
View File
@@ -25,7 +25,7 @@ OutputInfoDialog::OutputInfoDialog(const CoinsInfo &cInfo, QWidget *parent)
QString status = cInfo.spent ? "spent" : (cInfo.frozen ? "frozen" : "unspent"); QString status = cInfo.spent ? "spent" : (cInfo.frozen ? "frozen" : "unspent");
ui->label_status->setText(status); ui->label_status->setText(status);
ui->label_amount->setText(QString("%1 XMR").arg(cInfo.displayAmount())); ui->label_amount->setText(QString("%1 WOW").arg(cInfo.displayAmount()));
ui->label_creationHeight->setText(QString::number(cInfo.blockHeight)); ui->label_creationHeight->setText(QString::number(cInfo.blockHeight));
ui->label_globalIndex->setText(QString::number(cInfo.globalOutputIndex)); ui->label_globalIndex->setText(QString::number(cInfo.globalOutputIndex));
ui->label_internalIndex->setText(QString::number(cInfo.internalOutputIndex)); ui->label_internalIndex->setText(QString::number(cInfo.internalOutputIndex));
+1 -1
View File
@@ -34,7 +34,7 @@ OutputSweepDialog::OutputSweepDialog(QWidget *parent, quint64 amount)
QString origAmount = WalletManager::displayAmount(m_amount); QString origAmount = WalletManager::displayAmount(m_amount);
QString splitAmount = WalletManager::displayAmount(m_amount / value); QString splitAmount = WalletManager::displayAmount(m_amount / value);
ui->label_split->setText(QString("%1 XMR ≈ %2x %3 XMR").arg(origAmount, QString::number(value), splitAmount)); ui->label_split->setText(QString("%1 WOW ≈ %2x %3 WOW").arg(origAmount, QString::number(value), splitAmount));
}); });
ui->label_split->setText(""); ui->label_split->setText("");
+1 -1
View File
@@ -130,7 +130,7 @@
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="text"> <property name="text">
<string>1.000000000000 XMR ≈ 5x 0.200000000000 XMR</string> <string>1.000000000000 WOW ≈ 5x 0.200000000000 WOW</string>
</property> </property>
<property name="textInteractionFlags"> <property name="textInteractionFlags">
<set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set> <set>Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse</set>
+2 -2
View File
@@ -89,7 +89,7 @@ void PaymentRequestDialog::calculateCrypto() {
QString fiatCurrency = ui->comboCurrency->currentText(); QString fiatCurrency = ui->comboCurrency->currentText();
QString fiatAmount = ui->line_amountFiat->text(); QString fiatAmount = ui->line_amountFiat->text();
double cryptoAmount = appData()->prices.convert(fiatCurrency, "XMR", fiatAmount.toDouble()); double cryptoAmount = appData()->prices.convert(fiatCurrency, "WOW", fiatAmount.toDouble());
ui->line_amount->setText(QString::number(cryptoAmount, 'f', 10)); ui->line_amount->setText(QString::number(cryptoAmount, 'f', 10));
} }
@@ -97,7 +97,7 @@ void PaymentRequestDialog::calculateFiat() {
QString fiatCurrency = ui->comboCurrency->currentText(); QString fiatCurrency = ui->comboCurrency->currentText();
QString cryptoAmount = ui->line_amount->text(); QString cryptoAmount = ui->line_amount->text();
double fiatAmount = appData()->prices.convert("XMR", fiatCurrency, cryptoAmount.toDouble()); double fiatAmount = appData()->prices.convert("WOW", fiatCurrency, cryptoAmount.toDouble());
ui->line_amountFiat->setText(QString::number(fiatAmount, 'f', 2)); ui->line_amountFiat->setText(QString::number(fiatAmount, 'f', 2));
} }
+1 -1
View File
@@ -64,7 +64,7 @@
<item> <item>
<widget class="QLabel" name="label_4"> <widget class="QLabel" name="label_4">
<property name="text"> <property name="text">
<string>XMR</string> <string>WOW</string>
</property> </property>
</widget> </widget>
</item> </item>
+1 -1
View File
@@ -108,7 +108,7 @@ void TxConfAdvDialog::setAmounts(quint64 amount, quint64 fee) {
QString preferredCur = conf()->get(Config::preferredFiatCurrency).toString(); QString preferredCur = conf()->get(Config::preferredFiatCurrency).toString();
auto convert = [preferredCur](double amount){ auto convert = [preferredCur](double amount){
return QString::number(appData()->prices.convert("XMR", preferredCur, amount), 'f', 2); return QString::number(appData()->prices.convert("WOW", preferredCur, amount), 'f', 2);
}; };
QString amount_str = WalletManager::displayAmount(amount); QString amount_str = WalletManager::displayAmount(amount);
+1 -1
View File
@@ -27,7 +27,7 @@ TxConfDialog::TxConfDialog(Wallet *wallet, PendingTransaction *tx, const QString
QString preferredCur = conf()->get(Config::preferredFiatCurrency).toString(); QString preferredCur = conf()->get(Config::preferredFiatCurrency).toString();
auto convert = [preferredCur](double amount){ auto convert = [preferredCur](double amount){
return QString::number(appData()->prices.convert("XMR", preferredCur, amount), 'f', 2); return QString::number(appData()->prices.convert("WOW", preferredCur, amount), 'f', 2);
}; };
QString amount = WalletManager::displayAmount(tx->amount()); QString amount = WalletManager::displayAmount(tx->amount());
+2 -2
View File
@@ -147,7 +147,7 @@ void TxInfoDialog::setData(const TransactionRow &tx) {
} }
QString direction = tx.direction == TransactionRow::Direction_In ? "received" : "sent"; QString direction = tx.direction == TransactionRow::Direction_In ? "received" : "sent";
ui->label_amount->setText(QString("Amount %1: %2 XMR").arg(direction, tx.displayAmount())); ui->label_amount->setText(QString("Amount %1: %2 WOW").arg(direction, tx.displayAmount()));
QString fee; QString fee;
if (tx.coinbase) if (tx.coinbase)
@@ -157,7 +157,7 @@ void TxInfoDialog::setData(const TransactionRow &tx) {
else if (tx.displayFee().isEmpty()) else if (tx.displayFee().isEmpty())
fee = "N/A"; fee = "N/A";
else else
fee = QString("%1 XMR").arg(tx.displayFee()); fee = QString("%1 WOW").arg(tx.displayFee());
ui->label_fee->setText(QString("Fee: %1").arg(fee)); ui->label_fee->setText(QString("Fee: %1").arg(fee));
+2 -2
View File
@@ -69,7 +69,7 @@ void TxPoolViewerDialog::onTxPoolBacklog(const QVector<TxBacklogEntry> &txPool,
item->setData(0, Qt::UserRole, entry.weight); item->setData(0, Qt::UserRole, entry.weight);
item->setTextAlignment(0, Qt::AlignRight); item->setTextAlignment(0, Qt::AlignRight);
item->setText(1, QString("%1 XMR").arg(WalletManager::displayAmount(entry.fee))); item->setText(1, QString("%1 WOW").arg(WalletManager::displayAmount(entry.fee)));
item->setData(1, Qt::UserRole, entry.fee); item->setData(1, Qt::UserRole, entry.fee);
item->setTextAlignment(1, Qt::AlignRight); item->setTextAlignment(1, Qt::AlignRight);
@@ -111,7 +111,7 @@ void TxPoolViewerDialog::onTxPoolBacklog(const QVector<TxBacklogEntry> &txPool,
ui->tree_pool->header()->setSectionResizeMode(1, QHeaderView::ResizeToContents); ui->tree_pool->header()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
ui->label_totalWeight->setText(Utils::formatBytes(totalWeight)); ui->label_totalWeight->setText(Utils::formatBytes(totalWeight));
ui->label_totalFees->setText(QString("%1 XMR").arg(WalletManager::displayAmount(totalFees))); ui->label_totalFees->setText(QString("%1 WOW").arg(WalletManager::displayAmount(totalFees)));
quint64 fullRewardZone = blockWeightLimit >> 1; quint64 fullRewardZone = blockWeightLimit >> 1;
ui->label_blockWeightLimit->setText(Utils::formatBytes(fullRewardZone)); ui->label_blockWeightLimit->setText(Utils::formatBytes(fullRewardZone));
+2 -2
View File
@@ -100,7 +100,7 @@ void TxProofDialog::selectOutProof() {
this->selectTxProof(); this->selectTxProof();
ui->combo_address->addItems(m_OutDestinations); ui->combo_address->addItems(m_OutDestinations);
ui->label_summary->setText("This proof shows you paid x XMR to the address selected above."); ui->label_summary->setText("This proof shows you paid x WOW to the address selected above.");
} }
void TxProofDialog::selectInProof() { void TxProofDialog::selectInProof() {
@@ -119,7 +119,7 @@ void TxProofDialog::selectInProof() {
this->selectTxProof(); this->selectTxProof();
ui->combo_address->addItems(m_InDestinations); ui->combo_address->addItems(m_InDestinations);
ui->label_summary->setText("This proof shows you received x XMR to the address selected above."); ui->label_summary->setText("This proof shows you received x WOW to the address selected above.");
} }
void TxProofDialog::selectTxProof() { void TxProofDialog::selectTxProof() {
+1 -1
View File
@@ -280,7 +280,7 @@
<item> <item>
<widget class="QLabel" name="label_summary"> <widget class="QLabel" name="label_summary">
<property name="text"> <property name="text">
<string>This proof shows I paid x XMR to ADDR.</string> <string>This proof shows I paid x WOW to ADDR.</string>
</property> </property>
</widget> </widget>
</item> </item>
+2 -2
View File
@@ -113,7 +113,7 @@ void VerifyProofDialog::checkTxKey() {
return; return;
} }
this->proofStatus(true, QString("Proof is valid.\n\nThis address received %1 XMR, with %2 confirmations").arg(res.amount, QString::number(res.confirmations))); this->proofStatus(true, QString("Proof is valid.\n\nThis address received %1 WOW, with %2 confirmations").arg(res.amount, QString::number(res.confirmations)));
} }
void VerifyProofDialog::checkFormattedProof() { void VerifyProofDialog::checkFormattedProof() {
@@ -199,7 +199,7 @@ void VerifyProofDialog::onTxProofVerified(TxProofResult r) {
return; return;
} }
this->proofStatus(true, QString("Proof is valid.\n\nThis address received %1 XMR, with %2 confirmation(s)").arg(WalletManager::displayAmount(r.received), QString::number(r.confirmations))); this->proofStatus(true, QString("Proof is valid.\n\nThis address received %1 WOW, with %2 confirmation(s)").arg(WalletManager::displayAmount(r.received), QString::number(r.confirmations)));
} }
void VerifyProofDialog::onSpendProofVerified(QPair<bool, bool> r) { void VerifyProofDialog::onSpendProofVerified(QPair<bool, bool> r) {
+1 -1
View File
@@ -661,7 +661,7 @@ bool Wallet::keyImageSyncNeeded(quint64 amount, bool sendAll) const {
return this->hasUnknownKeyImages(); return this->hasUnknownKeyImages();
} }
// 0.001 XMR to account for tx fee // 0.001 WOW to account for tx fee
return ((amount + WalletManager::amountFromDouble(0.001)) > this->viewOnlyBalance(this->currentSubaddressAccount())); return ((amount + WalletManager::amountFromDouble(0.001)) > this->viewOnlyBalance(this->currentSubaddressAccount()));
} }
+1 -1
View File
@@ -125,7 +125,7 @@ void CalcWidget::initComboBox() {
this->setupComboBox(ui->comboCalcFrom, filteredCryptoKeys, filteredFiatKeys); this->setupComboBox(ui->comboCalcFrom, filteredCryptoKeys, filteredFiatKeys);
this->setupComboBox(ui->comboCalcTo, filteredCryptoKeys, filteredFiatKeys); this->setupComboBox(ui->comboCalcTo, filteredCryptoKeys, filteredFiatKeys);
ui->comboCalcFrom->setCurrentIndex(ui->comboCalcFrom->findText("XMR")); ui->comboCalcFrom->setCurrentIndex(ui->comboCalcFrom->findText("WOW"));
if (!preferredFiat.isEmpty()) { if (!preferredFiat.isEmpty()) {
ui->comboCalcTo->setCurrentIndex(ui->comboCalcTo->findText(preferredFiat)); ui->comboCalcTo->setCurrentIndex(ui->comboCalcTo->findText(preferredFiat));
@@ -30,7 +30,7 @@ void CCSProgressDelegate::paint(QPainter *painter, const QStyleOptionViewItem &o
progressBarOption.textVisible = true; progressBarOption.textVisible = true;
QSharedPointer<CCSEntry> entry = m_model->entry(index.row()); QSharedPointer<CCSEntry> entry = m_model->entry(index.row());
auto target = QString("%1/%2 XMR").arg(entry->raised_amount).arg(entry->target_amount); auto target = QString("%1/%2 WOW").arg(entry->raised_amount).arg(entry->target_amount);
auto progress = (int)entry->percentage_funded; auto progress = (int)entry->percentage_funded;
progressBarOption.progress = progress < 0 ? 0 : progress; progressBarOption.progress = progress < 0 ? 0 : progress;
progressBarOption.text = target; progressBarOption.text = target;
+1 -1
View File
@@ -33,7 +33,7 @@ AppData::AppData(QObject *parent)
connect(websocketNotifier(), &WebsocketNotifier::TxFiatHistoryReceived, this->txFiatHistory, &TxFiatHistory::onWSData); connect(websocketNotifier(), &WebsocketNotifier::TxFiatHistoryReceived, this->txFiatHistory, &TxFiatHistory::onWSData);
connect(websocketNotifier(), &WebsocketNotifier::BlockHeightsReceived, this, &AppData::onBlockHeightsReceived); connect(websocketNotifier(), &WebsocketNotifier::BlockHeightsReceived, this, &AppData::onBlockHeightsReceived);
// wownero: poll WOW (+ BTC/XMR/etc.) USD prices from neroswap every 2 minutes. // wownero: poll WOW (+ BTC/WOW/etc.) USD prices from neroswap every 2 minutes.
m_network = new Networking(this); m_network = new Networking(this);
auto fetchNeroswapPrices = [this] { auto fetchNeroswapPrices = [this] {
QNetworkReply *reply = m_network->getJson(this, "https://prices.neroswap.com/v1/prices"); QNetworkReply *reply = m_network->getJson(this, "https://prices.neroswap.com/v1/prices");
+4 -4
View File
@@ -180,7 +180,7 @@ QString defaultWalletDir() {
if (appImagePath.isEmpty()) { if (appImagePath.isEmpty()) {
qDebug() << "Not an appimage, using currentPath()"; qDebug() << "Not an appimage, using currentPath()";
if (QDir(QDir::currentPath() + "/.feather").exists()) { if (QDir(QDir::currentPath() + "/.feather").exists()) {
return QDir::currentPath() + "/.feather/Monero/wallets"; return QDir::currentPath() + "/.feather/Wownero/wallets";
} }
return QDir::currentPath() + "/feather_data/wallets"; return QDir::currentPath() + "/feather_data/wallets";
} }
@@ -188,7 +188,7 @@ QString defaultWalletDir() {
QFileInfo appImageDir(appImagePath); QFileInfo appImageDir(appImagePath);
QString absolutePath = appImageDir.absoluteDir().path(); QString absolutePath = appImageDir.absoluteDir().path();
if (QDir(absolutePath + "/.feather").exists()) { if (QDir(absolutePath + "/.feather").exists()) {
return absolutePath + "/.feather/Monero/wallets"; return absolutePath + "/.feather/Wownero/wallets";
} }
return absolutePath + "/feather_data/wallets"; return absolutePath + "/feather_data/wallets";
}(); }();
@@ -202,9 +202,9 @@ QString defaultWalletDir() {
} }
#if defined(Q_OS_LINUX) or defined(Q_OS_MAC) #if defined(Q_OS_LINUX) or defined(Q_OS_MAC)
return QString("%1/Monero/wallets").arg(QDir::homePath()); return QString("%1/Wownero/wallets").arg(QDir::homePath());
#elif defined(Q_OS_WIN) #elif defined(Q_OS_WIN)
return QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation) + "/Monero/wallets"; return QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation) + "/Wownero/wallets";
#endif #endif
} }
+2 -2
View File
@@ -112,7 +112,7 @@ static const QHash<Config::ConfigKey, ConfigDirective> configStrings = {
{Config::cameraExposureTime, {QS("cameraExposureTime"), 10}}, {Config::cameraExposureTime, {QS("cameraExposureTime"), 10}},
{Config::fiatSymbols, {QS("fiatSymbols"), QStringList{"USD", "EUR", "GBP", "CAD", "AUD", "RUB"}}}, {Config::fiatSymbols, {QS("fiatSymbols"), QStringList{"USD", "EUR", "GBP", "CAD", "AUD", "RUB"}}},
{Config::cryptoSymbols, {QS("cryptoSymbols"), QStringList{"BTC", "ETH", "LTC", "XMR", "ZEC"}}}, {Config::cryptoSymbols, {QS("cryptoSymbols"), QStringList{"BTC", "ETH", "LTC", "WOW", "ZEC"}}},
// Tor // Tor
{Config::proxy, {QS("proxy"), Config::Proxy::Tor}}, {Config::proxy, {QS("proxy"), Config::Proxy::Tor}},
@@ -129,7 +129,7 @@ static const QHash<Config::ConfigKey, ConfigDirective> configStrings = {
{Config::enabledPlugins, {QS("enabledPlugins"), QStringList{"tickers", "crowdfunding", "revuo", "calc"}}}, {Config::enabledPlugins, {QS("enabledPlugins"), QStringList{"tickers", "crowdfunding", "revuo", "calc"}}},
{Config::restartRequired, {QS("restartRequired"), false}}, {Config::restartRequired, {QS("restartRequired"), false}},
{Config::tickers, {QS("tickers"), QStringList{"XMR", "BTC", "XMR/BTC"}}}, {Config::tickers, {QS("tickers"), QStringList{"WOW", "BTC", "WOW/BTC"}}},
{Config::tickersShowFiatBalance, {QS("tickersShowFiatBalance"), true}}, {Config::tickersShowFiatBalance, {QS("tickersShowFiatBalance"), true}},
}; };
+1 -1
View File
@@ -35,7 +35,7 @@ void Prices::cryptoPricesReceived(const QJsonArray &data) {
} }
void Prices::neroswapPricesReceived(const QJsonObject &data) { void Prices::neroswapPricesReceived(const QJsonObject &data) {
// neroswap returns {"rates": {"WOW": usd, "XMR": usd, ...}}. It is wowlet's sole crypto-price // neroswap returns {"rates": {"WOW": usd, "WOW": usd, ...}}. It is wowlet's sole crypto-price
// source (feather's websocket server does not carry WOW), so repopulate markets from it. // source (feather's websocket server does not carry WOW), so repopulate markets from it.
QJsonObject ratesData = data.value("rates").toObject(); QJsonObject ratesData = data.value("rates").toObject();
if (ratesData.isEmpty()) if (ratesData.isEmpty())
+2 -2
View File
@@ -17,7 +17,7 @@
<item> <item>
<widget class="QLabel" name="label_header"> <widget class="QLabel" name="label_header">
<property name="text"> <property name="text">
<string>New Feather version is available.</string> <string>New wowlet version is available.</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -107,7 +107,7 @@
<item> <item>
<widget class="QPushButton" name="btn_restart"> <widget class="QPushButton" name="btn_restart">
<property name="text"> <property name="text">
<string>Restart Feather</string> <string>Restart wowlet</string>
</property> </property>
<property name="default"> <property name="default">
<bool>true</bool> <bool>true</bool>
+2 -2
View File
@@ -146,7 +146,7 @@
<item> <item>
<widget class="QCheckBox" name="checkBox_torManaged"> <widget class="QCheckBox" name="checkBox_torManaged">
<property name="text"> <property name="text">
<string>Let Feather start and manage a Tor daemon</string> <string>Let wowlet start and manage a Tor daemon</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -260,7 +260,7 @@
<item> <item>
<widget class="QLabel" name="label_notice"> <widget class="QLabel" name="label_notice">
<property name="text"> <property name="text">
<string>Feather is connected to a local node. Proxy settings ignored for node traffic.</string> <string>wowlet is connected to a local node. Proxy settings ignored for node traffic.</string>
</property> </property>
<property name="wordWrap"> <property name="wordWrap">
<bool>true</bool> <bool>true</bool>
+1 -1
View File
@@ -87,7 +87,7 @@
<item> <item>
<widget class="QCheckBox" name="checkBox_websocketList"> <widget class="QCheckBox" name="checkBox_websocketList">
<property name="text"> <property name="text">
<string>Let Feather manage this list</string> <string>Let wowlet manage this list</string>
</property> </property>
</widget> </widget>
</item> </item>
+1 -1
View File
@@ -73,7 +73,7 @@ BalanceTickerWidget::BalanceTickerWidget(QWidget *parent, Wallet *wallet, bool t
void BalanceTickerWidget::updateDisplay() { void BalanceTickerWidget::updateDisplay() {
double balance = (m_totalBalance ? m_wallet->balanceAll() : m_wallet->balance()) / constants::cdiv; double balance = (m_totalBalance ? m_wallet->balanceAll() : m_wallet->balance()) / constants::cdiv;
QString fiatCurrency = conf()->get(Config::preferredFiatCurrency).toString(); QString fiatCurrency = conf()->get(Config::preferredFiatCurrency).toString();
double balanceFiatAmount = appData()->prices.convert("XMR", fiatCurrency, balance); double balanceFiatAmount = appData()->prices.convert("WOW", fiatCurrency, balance);
if (balanceFiatAmount < 0) if (balanceFiatAmount < 0)
return; return;
this->setFiatText(balanceFiatAmount, fiatCurrency); this->setFiatText(balanceFiatAmount, fiatCurrency);
+1 -1
View File
@@ -28,7 +28,7 @@ void TxDetailsSimple::setDetails(Wallet *wallet, PendingTransaction *tx, const Q
QString preferredCur = conf()->get(Config::preferredFiatCurrency).toString(); QString preferredCur = conf()->get(Config::preferredFiatCurrency).toString();
auto convert = [preferredCur](double amount){ auto convert = [preferredCur](double amount){
return QString::number(appData()->prices.convert("XMR", preferredCur, amount), 'f', 2); return QString::number(appData()->prices.convert("WOW", preferredCur, amount), 'f', 2);
}; };
QString amount = WalletManager::displayAmount(tx->amount()); QString amount = WalletManager::displayAmount(tx->amount());
+1 -1
View File
@@ -17,7 +17,7 @@ PageMenu::PageMenu(WizardFields *fields, WalletKeysFilesModel *wallets, QWidget
ui->setupUi(this); ui->setupUi(this);
this->setButtonText(QWizard::FinishButton, "Open recent wallet"); this->setButtonText(QWizard::FinishButton, "Open recent wallet");
ui->label_version->setText(QString("Feather %1 — by featherwallet.org").arg(FEATHER_VERSION)); ui->label_version->setText(QString("wowlet %1 — by wownero.org").arg(FEATHER_VERSION));
QTimer::singleShot(0, [this] { QTimer::singleShot(0, [this] {
ui->frame_seedBump->setVisible(false); ui->frame_seedBump->setVisible(false);
}); });
+1 -1
View File
@@ -40,7 +40,7 @@ PageNetwork::PageNetwork(QWidget *parent)
bool nodeFound = res.first; bool nodeFound = res.first;
if (nodeFound) { if (nodeFound) {
ui->frame_nodeDetected->show(); ui->frame_nodeDetected->show();
ui->label_nodeDetected->setText(QString("Feather detected a local node on %1").arg(res.second)); ui->label_nodeDetected->setText(QString("wowlet detected a local node on %1").arg(res.second));
ui->btnGroup_network->button(Button::CUSTOM)->click(); ui->btnGroup_network->button(Button::CUSTOM)->click();
ui->line_customNode->setText(res.second); ui->line_customNode->setText(res.second);
+4 -4
View File
@@ -31,7 +31,7 @@
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>How do you want to connect to the Monero network?</string> <string>How do you want to connect to the Wownero network?</string>
</property> </property>
<property name="wordWrap"> <property name="wordWrap">
<bool>false</bool> <bool>false</bool>
@@ -41,7 +41,7 @@
<item> <item>
<widget class="QLabel" name="label_4"> <widget class="QLabel" name="label_4">
<property name="text"> <property name="text">
<string>Feather needs to connect to a node to obtain the data required to scan for your transactions.</string> <string>wowlet needs to connect to a node to obtain the data required to scan for your transactions.</string>
</property> </property>
<property name="wordWrap"> <property name="wordWrap">
<bool>true</bool> <bool>true</bool>
@@ -51,7 +51,7 @@
<item> <item>
<widget class="QLabel" name="label_5"> <widget class="QLabel" name="label_5">
<property name="text"> <property name="text">
<string>In most cases you want to let Feather pick one at random. Nodes are hosted by the developers and trusted members of the Monero community. </string> <string>In most cases you want to let wowlet pick one at random. Nodes are hosted by the developers and trusted members of the Wownero community. </string>
</property> </property>
<property name="wordWrap"> <property name="wordWrap">
<bool>true</bool> <bool>true</bool>
@@ -111,7 +111,7 @@
<item> <item>
<widget class="QLabel" name="label_nodeDetected"> <widget class="QLabel" name="label_nodeDetected">
<property name="text"> <property name="text">
<string>Feather detected a local node on port 18081.</string> <string>wowlet detected a local node on port 18081.</string>
</property> </property>
</widget> </widget>
</item> </item>
+2 -2
View File
@@ -23,14 +23,14 @@
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>How should Feather route its network traffic?</string> <string>How should wowlet route its network traffic?</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
<property name="text"> <property name="text">
<string>By default, Feather routes most traffic over Tor. </string> <string>By default, wowlet routes most traffic over Tor. </string>
</property> </property>
<property name="wordWrap"> <property name="wordWrap">
<bool>true</bool> <bool>true</bool>
+1 -1
View File
@@ -30,7 +30,7 @@
<item> <item>
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
<property name="text"> <property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Feather can connect to a service hosted by the developers to obtain pricing information, a curated list of remote nodes, Home feeds, the latest version of Feather Wallet and more.&lt;/p&gt;&lt;p&gt;This service is only used to fetch information. The wallet does not send information about its state or your transactions to the server. It is not used for any telemetry or crash reports.&lt;/p&gt;&lt;p&gt;If you disable this connection some wallet functionality will be unavailable. You can re-enable it at any time.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;wowlet can connect to a service hosted by the developers to obtain pricing information, a curated list of remote nodes, Home feeds, the latest version of wowlet and more.&lt;/p&gt;&lt;p&gt;This service is only used to fetch information. The wallet does not send information about its state or your transactions to the server. It is not used for any telemetry or crash reports.&lt;/p&gt;&lt;p&gt;If you disable this connection some wallet functionality will be unavailable. You can re-enable it at any time.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
<property name="wordWrap"> <property name="wordWrap">
<bool>true</bool> <bool>true</bool>