mirror of
https://git.wownero.com/wowlet/wowlet.git
synced 2024-08-15 01:03:14 +00:00
Merge pull request 'Coins: add key image icons for view only wallets' (#59) from tobtoht/feather:coins_no_keyimage into master
Reviewed-on: https://git.wownero.com/feather/feather/pulls/59
This commit is contained in:
commit
15f076f7d6
7 changed files with 42 additions and 1 deletions
|
@ -33,6 +33,7 @@
|
||||||
<file>assets/images/expired.png</file>
|
<file>assets/images/expired.png</file>
|
||||||
<file>assets/images/expired_icon.png</file>
|
<file>assets/images/expired_icon.png</file>
|
||||||
<file>assets/images/eye1.png</file>
|
<file>assets/images/eye1.png</file>
|
||||||
|
<file>assets/images/eye_blind.png</file>
|
||||||
<file>assets/images/feather.png</file>
|
<file>assets/images/feather.png</file>
|
||||||
<file>assets/images/file.png</file>
|
<file>assets/images/file.png</file>
|
||||||
<file>assets/images/ghost.png</file>
|
<file>assets/images/ghost.png</file>
|
||||||
|
@ -44,6 +45,7 @@
|
||||||
<file>assets/images/ledger_unpaired.png</file>
|
<file>assets/images/ledger_unpaired.png</file>
|
||||||
<file>assets/images/lightning.png</file>
|
<file>assets/images/lightning.png</file>
|
||||||
<file>assets/images/lock.png</file>
|
<file>assets/images/lock.png</file>
|
||||||
|
<file>assets/images/lock_icon.png</file>
|
||||||
<file>assets/images/lock.svg</file>
|
<file>assets/images/lock.svg</file>
|
||||||
<file>assets/images/microphone.png</file>
|
<file>assets/images/microphone.png</file>
|
||||||
<file>assets/images/network.png</file>
|
<file>assets/images/network.png</file>
|
||||||
|
|
BIN
src/assets/images/eye_blind.png
Normal file
BIN
src/assets/images/eye_blind.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.8 KiB |
BIN
src/assets/images/lock_icon.png
Normal file
BIN
src/assets/images/lock_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
|
@ -7,6 +7,7 @@
|
||||||
#include "utils/utils.h"
|
#include "utils/utils.h"
|
||||||
#include "dialog/outputinfodialog.h"
|
#include "dialog/outputinfodialog.h"
|
||||||
#include "dialog/outputsweepdialog.h"
|
#include "dialog/outputsweepdialog.h"
|
||||||
|
#include "mainwindow.h"
|
||||||
|
|
||||||
#include <QClipboard>
|
#include <QClipboard>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
@ -21,6 +22,7 @@ CoinsWidget::CoinsWidget(QWidget *parent)
|
||||||
, m_copyMenu(new QMenu("Copy",this))
|
, m_copyMenu(new QMenu("Copy",this))
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
m_ctx = MainWindow::getContext();
|
||||||
|
|
||||||
// header context menu
|
// header context menu
|
||||||
ui->coins->header()->setContextMenuPolicy(Qt::CustomContextMenu);
|
ui->coins->header()->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
|
@ -70,6 +72,12 @@ void CoinsWidget::setModel(CoinsModel * model, Coins * coins) {
|
||||||
ui->coins->setColumnHidden(CoinsModel::SpentHeight, true);
|
ui->coins->setColumnHidden(CoinsModel::SpentHeight, true);
|
||||||
ui->coins->setColumnHidden(CoinsModel::Frozen, true);
|
ui->coins->setColumnHidden(CoinsModel::Frozen, true);
|
||||||
|
|
||||||
|
if (!m_ctx->currentWallet->viewOnly()) {
|
||||||
|
ui->coins->setColumnHidden(CoinsModel::KeyImageKnown, true);
|
||||||
|
} else {
|
||||||
|
ui->coins->setColumnHidden(CoinsModel::KeyImageKnown, false);
|
||||||
|
}
|
||||||
|
|
||||||
ui->coins->header()->setSectionResizeMode(QHeaderView::ResizeToContents);
|
ui->coins->header()->setSectionResizeMode(QHeaderView::ResizeToContents);
|
||||||
ui->coins->header()->setSectionResizeMode(CoinsModel::AddressLabel, QHeaderView::Stretch);
|
ui->coins->header()->setSectionResizeMode(CoinsModel::AddressLabel, QHeaderView::Stretch);
|
||||||
ui->coins->header()->setSortIndicator(CoinsModel::BlockHeight, Qt::DescendingOrder);
|
ui->coins->header()->setSortIndicator(CoinsModel::BlockHeight, Qt::DescendingOrder);
|
||||||
|
|
|
@ -67,6 +67,7 @@ private:
|
||||||
Coins *m_coins;
|
Coins *m_coins;
|
||||||
CoinsModel * m_model;
|
CoinsModel * m_model;
|
||||||
CoinsProxyModel * m_proxyModel;
|
CoinsProxyModel * m_proxyModel;
|
||||||
|
AppContext *m_ctx;
|
||||||
|
|
||||||
void showContextMenu(const QPoint & point);
|
void showContextMenu(const QPoint & point);
|
||||||
void copy(copyField field);
|
void copy(copyField field);
|
||||||
|
|
|
@ -19,6 +19,9 @@ CoinsModel::CoinsModel(QObject *parent, Coins *coins)
|
||||||
{
|
{
|
||||||
connect(m_coins, &Coins::refreshStarted, this, &CoinsModel::startReset);
|
connect(m_coins, &Coins::refreshStarted, this, &CoinsModel::startReset);
|
||||||
connect(m_coins, &Coins::refreshFinished, this, &CoinsModel::endReset);
|
connect(m_coins, &Coins::refreshFinished, this, &CoinsModel::endReset);
|
||||||
|
|
||||||
|
m_eye = QIcon(":/assets/images/eye1.png");
|
||||||
|
m_eyeBlind = QIcon(":/assets/images/eye_blind.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
void CoinsModel::startReset(){
|
void CoinsModel::startReset(){
|
||||||
|
@ -82,6 +85,19 @@ QVariant CoinsModel::data(const QModelIndex &index, int role) const
|
||||||
result = Qt::AlignRight;
|
result = Qt::AlignRight;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (role == Qt::DecorationRole) {
|
||||||
|
switch (index.column()) {
|
||||||
|
case KeyImageKnown:
|
||||||
|
{
|
||||||
|
if (cInfo.keyImageKnown()) {
|
||||||
|
result = QVariant(m_eye);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
result = QVariant(m_eyeBlind);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (role == Qt::FontRole) {
|
else if (role == Qt::FontRole) {
|
||||||
switch(index.column()) {
|
switch(index.column()) {
|
||||||
case PubKey:
|
case PubKey:
|
||||||
|
@ -91,6 +107,16 @@ QVariant CoinsModel::data(const QModelIndex &index, int role) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (role == Qt::ToolTipRole) {
|
else if (role == Qt::ToolTipRole) {
|
||||||
|
switch(index.column()) {
|
||||||
|
case KeyImageKnown:
|
||||||
|
{
|
||||||
|
if (cInfo.keyImageKnown()) {
|
||||||
|
result = "Key image known";
|
||||||
|
} else {
|
||||||
|
result = "Key image unknown. Outgoing transactions that include this output will not be detected.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if (cInfo.frozen()) {
|
if (cInfo.frozen()) {
|
||||||
result = "Output is frozen.";
|
result = "Output is frozen.";
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#include <QAbstractTableModel>
|
#include <QAbstractTableModel>
|
||||||
#include <QSortFilterProxyModel>
|
#include <QSortFilterProxyModel>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
#include <QIcon>
|
||||||
|
|
||||||
class Coins;
|
class Coins;
|
||||||
class CoinsInfo;
|
class CoinsInfo;
|
||||||
|
@ -20,7 +21,8 @@ Q_OBJECT
|
||||||
public:
|
public:
|
||||||
enum ModelColumn
|
enum ModelColumn
|
||||||
{
|
{
|
||||||
PubKey = 0,
|
KeyImageKnown = 0,
|
||||||
|
PubKey,
|
||||||
OutputPoint,
|
OutputPoint,
|
||||||
Address,
|
Address,
|
||||||
AddressLabel,
|
AddressLabel,
|
||||||
|
@ -49,6 +51,8 @@ private:
|
||||||
QVariant parseTransactionInfo(const CoinsInfo &cInfo, int column, int role) const;
|
QVariant parseTransactionInfo(const CoinsInfo &cInfo, int column, int role) const;
|
||||||
|
|
||||||
Coins *m_coins;
|
Coins *m_coins;
|
||||||
|
QIcon m_eye;
|
||||||
|
QIcon m_eyeBlind;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //FEATHER_COINSMODEL_H
|
#endif //FEATHER_COINSMODEL_H
|
||||||
|
|
Loading…
Reference in a new issue