Prevent negative z balances,Hide 0-balance addresses from the balances table,Rename new address to next address
This commit is contained in:
@@ -1048,8 +1048,7 @@ void MainWindow::setupReceiveTab() {
|
||||
updateTAddrCombo(checked);
|
||||
}
|
||||
|
||||
// Toggle the "View all addresses" button as well
|
||||
ui->btnViewAllAddresses->setVisible(checked);
|
||||
|
||||
});
|
||||
|
||||
// View all addresses goes to "View all private keys"
|
||||
@@ -1065,7 +1064,14 @@ void MainWindow::setupReceiveTab() {
|
||||
Settings::saveRestoreTableHeader(viewaddrs.tblAddresses, &d, "viewalladdressestable");
|
||||
viewaddrs.tblAddresses->horizontalHeader()->setStretchLastSection(true);
|
||||
|
||||
ViewAllAddressesModel model(viewaddrs.tblAddresses, getRPC()->getModel()->getAllTAddresses(), getRPC());
|
||||
QList<QString> allAddresses;
|
||||
if (ui->rdioTAddr->isChecked()) {
|
||||
allAddresses = getRPC()->getModel()->getAllTAddresses();
|
||||
} else {
|
||||
allAddresses = getRPC()->getModel()->getAllZAddresses();
|
||||
}
|
||||
|
||||
ViewAllAddressesModel model(viewaddrs.tblAddresses, allAddresses, getRPC());
|
||||
viewaddrs.tblAddresses->setModel(&model);
|
||||
|
||||
QObject::connect(viewaddrs.btnExportAll, &QPushButton::clicked, this, &MainWindow::exportAllKeys);
|
||||
@@ -1100,6 +1106,20 @@ void MainWindow::setupReceiveTab() {
|
||||
QObject::connect(ui->btnReceiveNewAddr, &QPushButton::clicked, [=] () {
|
||||
if (!rpc->getConnection())
|
||||
return;
|
||||
|
||||
// Go over the dropdown and just select the next address that has:
|
||||
// 0 balance and has no labels
|
||||
for (int i=ui->listReceiveAddresses->currentIndex()+1; i < ui->listReceiveAddresses->count(); i++) {
|
||||
QString item = ui->listReceiveAddresses->itemText(i);
|
||||
CAmount bal = getRPC()->getModel()->getAllBalances().value(item, CAmount());
|
||||
if (bal == 0 && AddressBook::getInstance()->getLabelForAddress(item).isEmpty()) {
|
||||
// Pick this one, since it has no balance and no label
|
||||
ui->listReceiveAddresses->setCurrentIndex(i);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// If none of the existing items were eligible, create a new one.
|
||||
|
||||
if (ui->rdioZSAddr->isChecked()) {
|
||||
addNewZaddr(true);
|
||||
@@ -1113,7 +1133,7 @@ void MainWindow::setupReceiveTab() {
|
||||
if (tab == 2) {
|
||||
// Switched to receive tab, select the z-addr radio button
|
||||
ui->rdioZSAddr->setChecked(true);
|
||||
ui->btnViewAllAddresses->setVisible(false);
|
||||
|
||||
|
||||
// And then select the first one
|
||||
ui->listReceiveAddresses->setCurrentIndex(0);
|
||||
|
||||
Reference in New Issue
Block a user