// context menu
ui->coins->setContextMenuPolicy(Qt::CustomContextMenu);
+ m_editLabelAction = new QAction("Edit Label", this);
+ connect(m_editLabelAction, &QAction::triggered, this, &CoinsWidget::editLabel);
+
m_thawOutputAction = new QAction("Thaw output", this);
m_freezeOutputAction = new QAction("Freeze output", this);
m_viewOutputAction = new QAction(icons()->icon("info2.svg"), "Details", this);
m_sweepOutputAction = new QAction("Sweep output", this);
m_sweepOutputsAction = new QAction("Sweep selected outputs", this);
+
connect(m_freezeOutputAction, &QAction::triggered, this, &CoinsWidget::freezeOutput);
connect(m_thawOutputAction, &QAction::triggered, this, &CoinsWidget::thawOutput);
connect(m_viewOutputAction, &QAction::triggered, this, &CoinsWidget::viewOutput);
bool isUnlocked = c->unlocked();
menu->addMenu(m_copyMenu);
+ menu->addAction(m_editLabelAction);
if (!isSpent) {
isFrozen ? menu->addAction(m_thawOutputAction) : menu->addAction(m_freezeOutputAction);
m_ctx->updateBalance();
}
+void CoinsWidget::editLabel() {
+ QModelIndex index = ui->coins->currentIndex().siblingAtColumn(m_model->ModelColumn::Label);
+ ui->coins->setCurrentIndex(index);
+ ui->coins->edit(index);
+}
+
CoinsWidget::~CoinsWidget() = default;
\ No newline at end of file
void onSweepOutput();
void onSweepMulti();
void setSearchFilter(const QString &filter);
+ void editLabel();
private:
void freezeCoins(const QVector<int>& indexes);
QAction *m_viewOutputAction;
QAction *m_sweepOutputAction;
QAction *m_sweepOutputsAction;
+ QAction *m_editLabelAction;
Coins *m_coins;
CoinsModel * m_model;
CoinsProxyModel * m_proxyModel;
QVariant result;
bool found = m_coins->coin(index.row(), [this, &index, &result, &role](const CoinsInfo &cInfo) {
- if(role == Qt::DisplayRole || role == Qt::UserRole) {
+ if(role == Qt::DisplayRole || role == Qt::EditRole || role == Qt::UserRole) {
result = parseTransactionInfo(cInfo, index.column(), role);
}
else if (role == Qt::BackgroundRole) {
else if (!cInfo.unlocked()) {
result = "Output is locked (needs more confirmations)";
}
+ else if (cInfo.spent()) {
+ result = "Output is spent";
+ }
}
});
if (!found) {