Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ui fixes #1366

Merged
merged 6 commits into from
Nov 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 37 additions & 27 deletions src/qt/addressbookpage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,19 +31,7 @@ AddressBookPage::AddressBookPage(const PlatformStyle *platformStyle, Mode _mode,
tab(_tab)
{
ui->setupUi(this);

if (tab == SendingTab) {
ui->addressType->addItem(tr("Spark"), Spark);
ui->addressType->addItem(tr("Transparent"), Transparent);
ui->addressType->addItem(tr("RAP"), RAP);
} else if(tab == ReceivingTab && !isReused) {
ui->addressType->addItem(tr("Spark"), Spark);
ui->addressType->addItem(tr("Transparent"), Transparent);
} else {
ui->addressType->addItem(tr(""), Transparent);
ui->addressType->addItem(tr("Transparent"), Transparent);
ui->addressType->hide();
}
this->isReused = isReused;

if (!platformStyle->getImagesOnButtons()) {
ui->newAddress->setIcon(QIcon());
Expand Down Expand Up @@ -127,6 +115,23 @@ void AddressBookPage::setModel(AddressTableModel *_model)
this->model = _model;
if(!_model)
return;
bool spark = this->model->IsSparkAllowed();

if (tab == SendingTab) {
if (spark) {
ui->addressType->addItem(tr("Spark"), Spark);
}
ui->addressType->addItem(tr("Transparent"), Transparent);
} else if(tab == ReceivingTab && !this->isReused) {
if (spark) {
ui->addressType->addItem(tr("Spark"), Spark);
}
ui->addressType->addItem(tr("Transparent"), Transparent);
} else {
ui->addressType->addItem(tr(""), Transparent);
ui->addressType->addItem(tr("Transparent"), Transparent);
ui->addressType->hide();
}

proxyModel = new QSortFilterProxyModel(this);
fproxyModel = new AddressBookFilterProxy(this);
Expand Down Expand Up @@ -174,6 +179,23 @@ void AddressBookPage::setModel(AddressTableModel *_model)
connect(ui->addressType, qOverload<int>(&QComboBox::activated), this, &AddressBookPage::chooseAddressType);
}

void AddressBookPage::updateSpark() {
ui->addressType->clear();
if (tab == SendingTab) {
ui->addressType->addItem(tr("Spark"), Spark);
ui->addressType->addItem(tr("Transparent"), Transparent);
} else if(tab == ReceivingTab && !this->isReused) {
ui->addressType->addItem(tr("Spark"), Spark);
ui->addressType->addItem(tr("Transparent"), Transparent);
} else {
ui->addressType->addItem(tr(""), Transparent);
ui->addressType->addItem(tr("Transparent"), Transparent);
ui->addressType->hide();
}

chooseAddressType(0);
}

void AddressBookPage::on_copyAddress_clicked()
{
GUIUtil::copyEntryData(ui->tableView, AddressTableModel::Address);
Expand All @@ -191,9 +213,7 @@ void AddressBookPage::onEditAction()
EditAddressDialog::Mode mode;
AddressTableModel * pmodel;
pmodel = model;
if (ui->addressType->currentText() == AddressTableModel::RAP) {
mode = EditAddressDialog::EditPcode;
} else if (ui->addressType->currentText() == AddressTableModel::Transparent) {
if (ui->addressType->currentText() == AddressTableModel::Transparent) {
mode = tab == SendingTab ? EditAddressDialog::EditSendingAddress : EditAddressDialog::EditReceivingAddress;
} else {
mode = tab == SendingTab ? EditAddressDialog::EditSparkSendingAddress : EditAddressDialog::EditSparkReceivingAddress;
Expand Down Expand Up @@ -224,8 +244,6 @@ void AddressBookPage::on_newAddress_clicked()
pmodel = model;
if (ui->addressType->currentText() == AddressTableModel::Spark) {
mode = tab == SendingTab ? EditAddressDialog::NewSparkSendingAddress : EditAddressDialog::NewSparkReceivingAddress;
} else if (ui->addressType->currentText() == AddressTableModel::RAP) {
mode = EditAddressDialog::NewPcode;
} else {
mode = tab == SendingTab ? EditAddressDialog::NewSendingAddress : EditAddressDialog::NewReceivingAddress;
}
Expand Down Expand Up @@ -333,10 +351,6 @@ void AddressBookPage::on_exportButton_clicked()
writer.addColumn("Label", AddressTableModel::Label, Qt::EditRole);
writer.addColumn("Transparent Address", AddressTableModel::Address, Qt::EditRole);
writer.addColumn("Address Type", AddressTableModel::AddressType, Qt::EditRole);
} else if (ui->addressType->currentText() == AddressTableModel::RAP) {
writer.addColumn("Label", AddressTableModel::Label, Qt::EditRole);
writer.addColumn("PaymentCode", AddressTableModel::Address, Qt::EditRole);
writer.addColumn("Address Type", AddressTableModel::AddressType, Qt::EditRole);
} else {
writer.addColumn("Label", AddressTableModel::Label, Qt::EditRole);
writer.addColumn("Spark Address", AddressTableModel::Address, Qt::EditRole);
Expand All @@ -356,8 +370,6 @@ void AddressBookPage::contextualMenu(const QPoint &point)

if (ui->addressType->currentText() == "Spark") {
copyAddressAction->setText(tr("&Copy Spark Address"));
} else if (ui->addressType->currentText() == "RAP") {
copyAddressAction->setText(tr("&Copy RAP address"));
} else {
copyAddressAction->setText(tr("&Copy Transparent Address"));
}
Expand Down Expand Up @@ -397,14 +409,12 @@ bool AddressBookFilterProxy::filterAcceptsRow(int sourceRow, const QModelIndex &
QModelIndex index = sourceModel()->index(sourceRow, 2, sourceParent);
bool res0 = sourceModel()->data(index).toString().contains("spark");
bool res1 = sourceModel()->data(index).toString().contains("transparent");
bool res2 = sourceModel()->data(index).toString().contains("RAP");

if(res0 && typeFilter == 0)
return true;
if(res1 && typeFilter == 1)
return true;
if(res2 && typeFilter == 2)
return true;

return false;
}

Expand Down
6 changes: 4 additions & 2 deletions src/qt/addressbookpage.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,7 @@ class AddressBookPage : public QDialog
enum AddressTypeEnum
{
Spark,
Transparent,
RAP
Transparent
};

explicit AddressBookPage(const PlatformStyle *platformStyle, Mode mode, Tabs tab, QWidget *parent, bool isReused = true);
Expand All @@ -55,6 +54,8 @@ class AddressBookPage : public QDialog
void setModel(AddressTableModel *model);
const QString &getReturnValue() const { return returnValue; }

void updateSpark();

public Q_SLOTS:
void done(int retval);

Expand All @@ -70,6 +71,7 @@ public Q_SLOTS:
QAction *copyAddressAction;
QAction *deleteAction; // to be able to explicitly disable it
QString newAddressToSelect;
bool isReused;

private Q_SLOTS:
/** Delete currently selected address entry */
Expand Down
5 changes: 5 additions & 0 deletions src/qt/addresstablemodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -684,6 +684,11 @@ PcodeAddressTableModel * AddressTableModel::getPcodeAddressTableModel()
return walletModel->getPcodeAddressTableModel();
}

bool AddressTableModel::IsSparkAllowed(){
return spark::IsSparkAllowed();
}


// RAP pcodes

static void NotifyPcodeLabeled(PcodeAddressTableModel *walletmodel, std::string pcode, std::string label, bool removed)
Expand Down
2 changes: 2 additions & 0 deletions src/qt/addresstablemodel.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@ class AddressTableModel : public QAbstractTableModel
EditStatus getEditStatus() const { return editStatus; }

PcodeAddressTableModel * getPcodeAddressTableModel();

bool IsSparkAllowed();
protected:
WalletModel *walletModel;
CWallet *wallet;
Expand Down
2 changes: 1 addition & 1 deletion src/qt/bitcoin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@ void BitcoinApplication::unlockWallet_(void * wallet)
{
CWallet * wallet_ = reinterpret_cast<CWallet *>(wallet);

QString info = tr("You need to unlock to allow spark wallet be created.");
QString info = tr("You need to unlock to allow Spark wallet be created.");

walletModel = new WalletModel(platformStyle, wallet_, optionsModel);

Expand Down
3 changes: 3 additions & 0 deletions src/qt/bitcoingui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1517,6 +1517,9 @@ void BitcoinGUI::checkLelantusVisibility(int numBlocks)
}
lelantusAction->setVisible(allowLelantusPage);
}

if (numBlocks == ::Params().GetConsensus().nSparkStartBlock)
walletFrame->updateAddressbook();
}

void BitcoinGUI::toggleNetworkActive()
Expand Down
10 changes: 0 additions & 10 deletions src/qt/forms/optionsdialog.ui
Original file line number Diff line number Diff line change
Expand Up @@ -173,16 +173,6 @@
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="enableRapAddresses">
<property name="toolTip">
<string>Whether to show RAP addresses or not.</string>
</property>
<property name="text">
<string>Display RAP addresses</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
Expand Down
1 change: 0 additions & 1 deletion src/qt/optionsdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,6 @@ void OptionsDialog::setMapper()
mapper->addMapping(ui->spendZeroConfChange, OptionsModel::SpendZeroConfChange);
mapper->addMapping(ui->reindexLelantus, OptionsModel::ReindexLelantus);
mapper->addMapping(ui->coinControlFeatures, OptionsModel::CoinControlFeatures);
mapper->addMapping(ui->enableRapAddresses, OptionsModel::enableRapAddresses);

/* Lelantus */
mapper->addMapping(ui->autoAnonymize, OptionsModel::AutoAnonymize);
Expand Down
11 changes: 0 additions & 11 deletions src/qt/optionsmodel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,6 @@ void OptionsModel::Init(bool resetSettings)
settings.setValue("fCoinControlFeatures", false);
fCoinControlFeatures = settings.value("fCoinControlFeatures", false).toBool();

if (!settings.contains("fenableRapAddresses"))
settings.setValue("fenableRapAddresses", false);
fenableRapAddresses = settings.value("fenableRapAddresses", false).toBool();

if (!settings.contains("fAutoAnonymize"))
settings.setValue("fAutoAnonymize", false);
fAutoAnonymize = settings.value("fAutoAnonymize", false).toBool();
Expand Down Expand Up @@ -281,8 +277,6 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const
return settings.value("language");
case CoinControlFeatures:
return fCoinControlFeatures;
case enableRapAddresses:
return fenableRapAddresses;
case AutoAnonymize:
return fAutoAnonymize;
case LelantusPage:
Expand Down Expand Up @@ -430,11 +424,6 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
settings.setValue("fCoinControlFeatures", fCoinControlFeatures);
Q_EMIT coinControlFeaturesChanged(fCoinControlFeatures);
break;
case enableRapAddresses:
fenableRapAddresses = value.toBool();
settings.setValue("fenableRapAddresses", fenableRapAddresses);
Q_EMIT enableRapAddressesChanged(fenableRapAddresses);
break;
case AutoAnonymize:
fAutoAnonymize = value.toBool();
settings.setValue("fAutoAnonymize", fAutoAnonymize);
Expand Down
8 changes: 4 additions & 4 deletions src/qt/overviewpage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -425,10 +425,10 @@ MigrateLelantusToSparkDialog::MigrateLelantusToSparkDialog(WalletModel *_model):

QPushButton *ignore = new QPushButton(this);
ignore->setText("Ignore");
ignore->setStyleSheet("color:#9b1c2e;background-color:none;margin-top:30px;margin-bottom:60px;margin-left:50px;margin-right:20px;border:1px solid #9b1c2e;");
ignore->setStyleSheet("margin-top:30px;margin-bottom:60px;margin-left:20px;margin-right:50px;");
QPushButton *migrate = new QPushButton(this);
migrate->setText("Migrate");
migrate->setStyleSheet("margin-top:30px;margin-bottom:60px;margin-left:20px;margin-right:50px;");
migrate->setStyleSheet("color:#9b1c2e;background-color:none;margin-top:30px;margin-bottom:60px;margin-left:50px;margin-right:20px;border:1px solid #9b1c2e;");
QHBoxLayout *groupButton = new QHBoxLayout(this);
groupButton->addWidget(ignore);
groupButton->addWidget(migrate);
Expand Down Expand Up @@ -462,13 +462,13 @@ MigrateLelantusToSparkDialog::MigrateLelantusToSparkDialog(WalletModel *_model):
void MigrateLelantusToSparkDialog::onIgnoreClicked()
{
setVisible(false);
clickedButton = false;
clickedButton = true;
}

void MigrateLelantusToSparkDialog::onMigrateClicked()
{
setVisible(false);
clickedButton = true;
clickedButton = false;
model->migrateLelantusToSpark();
}

Expand Down
4 changes: 2 additions & 2 deletions src/qt/sendcoinsdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -323,7 +323,7 @@ void SendCoinsDialog::on_sendButton_clicked()
if (model->getLelantusModel()->getPrivateBalance().first > 0 && spark::IsSparkAllowed() && chainActive.Height() < ::Params().GetConsensus().nLelantusGracefulPeriod) {
MigrateLelantusToSparkDialog migrateLelantusToSpark(model);
bool clickedButton = migrateLelantusToSpark.getClickedButton();
if(clickedButton) {
if(!clickedButton) {
fNewRecipientAllowed = true;
return;
}
Expand All @@ -343,7 +343,7 @@ void SendCoinsDialog::on_sendButton_clicked()
if (spark::IsSparkAllowed()) {
SendGoPrivateDialog goPrivateDialog;
bool clickedButton = goPrivateDialog.getClickedButton();
if (clickedButton) {
if (!clickedButton) {
setAnonymizeMode(true);
fNewRecipientAllowed = true;
return;
Expand Down
7 changes: 7 additions & 0 deletions src/qt/walletframe.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -259,3 +259,10 @@ void WalletFrame::outOfSyncWarningClicked()
{
Q_EMIT requestedSyncWarningInfo();
}

void WalletFrame::updateAddressbook() {
WalletView *walletView = currentWalletView();

if (walletView)
walletView->updateAddressbook();
}
2 changes: 2 additions & 0 deletions src/qt/walletframe.h
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,8 @@ public Q_SLOTS:
void usedReceivingAddresses();
/** Pass on signal over requested out-of-sync-warning information */
void outOfSyncWarningClicked();

void updateAddressbook();
};

#endif // BITCOIN_QT_WALLETFRAME_H
6 changes: 6 additions & 0 deletions src/qt/walletview.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -596,6 +596,12 @@ void WalletView::usedSendingAddresses()
usedSendingAddressesPage->activateWindow();
}

void WalletView::updateAddressbook()
{
usedReceivingAddressesPage->updateSpark();
usedSendingAddressesPage->updateSpark();
}

void WalletView::usedReceivingAddresses()
{
if(!walletModel)
Expand Down
3 changes: 3 additions & 0 deletions src/qt/walletview.h
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,9 @@ public Q_SLOTS:

/** Show used sending addresses */
void usedSendingAddresses();

void updateAddressbook();

/** Show used receiving addresses */
void usedReceivingAddresses();

Expand Down
Loading