UI: button to toggle lock-state for all inputs in coin-control dialog
This commit is contained in:
parent
2c14877c6e
commit
aeb9a7d5ea
@ -121,6 +121,9 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) :
|
|||||||
// (un)select all
|
// (un)select all
|
||||||
connect(ui->pushButtonSelectAll, SIGNAL(clicked()), this, SLOT(buttonSelectAllClicked()));
|
connect(ui->pushButtonSelectAll, SIGNAL(clicked()), this, SLOT(buttonSelectAllClicked()));
|
||||||
|
|
||||||
|
// Toggle lock state
|
||||||
|
connect(ui->pushButtonToggleLock, SIGNAL(clicked()), this, SLOT(buttonToggleLockClicked()));
|
||||||
|
|
||||||
// change coin control first column label due Qt4 bug.
|
// change coin control first column label due Qt4 bug.
|
||||||
// see https://github.com/bitcoin/bitcoin/issues/5716
|
// see https://github.com/bitcoin/bitcoin/issues/5716
|
||||||
ui->treeWidget->headerItem()->setText(COLUMN_CHECKBOX, QString());
|
ui->treeWidget->headerItem()->setText(COLUMN_CHECKBOX, QString());
|
||||||
@ -210,6 +213,39 @@ void CoinControlDialog::buttonSelectAllClicked()
|
|||||||
CoinControlDialog::updateLabels(model, this);
|
CoinControlDialog::updateLabels(model, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Toggle lock state
|
||||||
|
void CoinControlDialog::buttonToggleLockClicked()
|
||||||
|
{
|
||||||
|
QTreeWidgetItem *item;
|
||||||
|
// Works in list-mode only
|
||||||
|
if(ui->radioListMode->isChecked()){
|
||||||
|
ui->treeWidget->setEnabled(false);
|
||||||
|
for (int i = 0; i < ui->treeWidget->topLevelItemCount(); i++){
|
||||||
|
item = ui->treeWidget->topLevelItem(i);
|
||||||
|
COutPoint outpt(uint256(item->text(COLUMN_TXHASH).toStdString()), item->text(COLUMN_VOUT_INDEX).toUInt());
|
||||||
|
if (model->isLockedCoin(uint256(item->text(COLUMN_TXHASH).toStdString()), item->text(COLUMN_VOUT_INDEX).toUInt())){
|
||||||
|
model->unlockCoin(outpt);
|
||||||
|
item->setDisabled(false);
|
||||||
|
item->setIcon(COLUMN_CHECKBOX, QIcon());
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
model->lockCoin(outpt);
|
||||||
|
item->setDisabled(true);
|
||||||
|
item->setIcon(COLUMN_CHECKBOX, QIcon(":/icons/lock_closed"));
|
||||||
|
}
|
||||||
|
updateLabelLocked();
|
||||||
|
}
|
||||||
|
ui->treeWidget->setEnabled(true);
|
||||||
|
CoinControlDialog::updateLabels(model, this);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
QMessageBox msgBox;
|
||||||
|
msgBox.setObjectName("lockMessageBox");
|
||||||
|
msgBox.setText(tr("Please switch to \"List mode\" to use this."));
|
||||||
|
msgBox.exec();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// context menu
|
// context menu
|
||||||
void CoinControlDialog::showMenu(const QPoint &point)
|
void CoinControlDialog::showMenu(const QPoint &point)
|
||||||
{
|
{
|
||||||
|
@ -122,6 +122,7 @@ private slots:
|
|||||||
void headerSectionClicked(int);
|
void headerSectionClicked(int);
|
||||||
void buttonBoxClicked(QAbstractButton*);
|
void buttonBoxClicked(QAbstractButton*);
|
||||||
void buttonSelectAllClicked();
|
void buttonSelectAllClicked();
|
||||||
|
void buttonToggleLockClicked();
|
||||||
void updateLabelLocked();
|
void updateLabelLocked();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -348,7 +348,7 @@
|
|||||||
</property>
|
</property>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayoutPanel" stretch="0,0,0,0,0">
|
<layout class="QHBoxLayout" name="horizontalLayoutPanel" stretch="0,0,0,0,0,0">
|
||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>14</number>
|
<number>14</number>
|
||||||
</property>
|
</property>
|
||||||
@ -368,6 +368,22 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButtonToggleLock">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>toggle lock state</string>
|
||||||
|
</property>
|
||||||
|
<property name="autoDefault">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QRadioButton" name="radioTreeMode">
|
<widget class="QRadioButton" name="radioTreeMode">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
@ -1328,6 +1328,12 @@ padding-right:10px;
|
|||||||
min-height:25px;
|
min-height:25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QDialog#CoinControlDialog .QFrame#frame .QPushButton#pushButtonToggleLock { /* Toggle lock state button */
|
||||||
|
padding-left:10px;
|
||||||
|
padding-right:10px;
|
||||||
|
min-height:25px;
|
||||||
|
}
|
||||||
|
|
||||||
QDialog#CoinControlDialog .QDialogButtonBox#buttonBox QPushButton { /* Coin Control 'OK' button */
|
QDialog#CoinControlDialog .QDialogButtonBox#buttonBox QPushButton { /* Coin Control 'OK' button */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user