diff --git a/src/qt/coincontroldialog.h b/src/qt/coincontroldialog.h
--- a/src/qt/coincontroldialog.h
+++ b/src/qt/coincontroldialog.h
@@ -80,9 +80,10 @@
COLUMN_ADDRESS,
COLUMN_DATE,
COLUMN_CONFIRMATIONS,
- COLUMN_TXID,
- COLUMN_VOUT_INDEX,
};
+
+ enum { TxIdRole = Qt::UserRole, VOutRole };
+
friend class CCoinControlWidgetItem;
static COutPoint buildOutPoint(const QTreeWidgetItem *item);
diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp
--- a/src/qt/coincontroldialog.cpp
+++ b/src/qt/coincontroldialog.cpp
@@ -149,10 +149,6 @@
ui->treeWidget->setColumnWidth(COLUMN_ADDRESS, 320);
ui->treeWidget->setColumnWidth(COLUMN_DATE, 130);
ui->treeWidget->setColumnWidth(COLUMN_CONFIRMATIONS, 110);
- // store transaction hash in this column, but don't show it
- ui->treeWidget->setColumnHidden(COLUMN_TXID, true);
- // store vout index in this column, but don't show it
- ui->treeWidget->setColumnHidden(COLUMN_VOUT_INDEX, true);
// default view is sorted by amount desc
sortView(COLUMN_AMOUNT, Qt::DescendingOrder);
@@ -232,7 +228,7 @@
// disable some items (like Copy Transaction ID, lock, unlock) for tree
// roots in context menu
- if (item->text(COLUMN_TXID).length() == 64) {
+ if (item->data(COLUMN_ADDRESS, TxIdRole).toString().length() == 64) {
COutPoint outpoint = buildOutPoint(item);
// transaction hash is 64 characters (this means it is a child node,
@@ -287,7 +283,8 @@
// context menu action: copy transaction id
void CoinControlDialog::copyTransactionHash() {
- GUIUtil::setClipboard(contextMenuItem->text(COLUMN_TXID));
+ GUIUtil::setClipboard(
+ contextMenuItem->data(COLUMN_ADDRESS, TxIdRole).toString());
}
// context menu action: lock coin
@@ -408,7 +405,8 @@
void CoinControlDialog::viewItemChanged(QTreeWidgetItem *item, int column) {
// transaction hash is 64 characters (this means it is a child node, so it
// is not a parent node in tree mode)
- if (column == COLUMN_CHECKBOX && item->text(COLUMN_TXID).length() == 64) {
+ if (column == COLUMN_CHECKBOX &&
+ item->data(COLUMN_ADDRESS, TxIdRole).toString().length() == 64) {
COutPoint outpoint = buildOutPoint(item);
if (item->checkState(COLUMN_CHECKBOX) == Qt::Unchecked) {
@@ -664,8 +662,8 @@
COutPoint CoinControlDialog::buildOutPoint(const QTreeWidgetItem *item) {
TxId txid;
- txid.SetHex(item->text(COLUMN_TXID).toStdString());
- return COutPoint(txid, item->text(COLUMN_VOUT_INDEX).toUInt());
+ txid.SetHex(item->data(COLUMN_ADDRESS, TxIdRole).toString().toStdString());
+ return COutPoint(txid, item->data(COLUMN_ADDRESS, VOutRole).toUInt());
}
void CoinControlDialog::updateView() {
@@ -782,12 +780,12 @@
QVariant((qlonglong)out.depth_in_main_chain));
// transaction id
- itemOutput->setText(
- COLUMN_TXID, QString::fromStdString(output.GetTxId().GetHex()));
+ itemOutput->setData(
+ COLUMN_ADDRESS, TxIdRole,
+ QString::fromStdString(output.GetTxId().GetHex()));
// vout index
- itemOutput->setText(COLUMN_VOUT_INDEX,
- QString::number(output.GetN()));
+ itemOutput->setData(COLUMN_ADDRESS, VOutRole, output.GetN());
// disable locked coins
if (model->wallet().isLockedCoin(output)) {
diff --git a/src/qt/forms/coincontroldialog.ui b/src/qt/forms/coincontroldialog.ui
--- a/src/qt/forms/coincontroldialog.ui
+++ b/src/qt/forms/coincontroldialog.ui
@@ -402,7 +402,7 @@
false
- 10
+ 6
true