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…
	
	Add table
		Add a link
		
	
		Reference in a new issue